
===== 数据结构 =====
HungTeen
努力成为别人的依赖-我是菜鸡-我有大佬梦~
展开
-
HDU 3473 Minimum Sum 【划分树】
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3473★没想到划分树里面也可以加东西,wcsl题意:给你一个由n个数组成的序列,有m次询问,每次询问给你一个区间(l,r)让你输出 x和这个区间的每一个数的差的绝对值 的求和 的最小值,x为任意数思路:这个x可以是排序后的区间的最居中的值:我们把这个区间上的数想象为数轴上的点,当为奇数...原创 2019-11-21 17:34:29 · 271 阅读 · 0 评论 -
POJ 2104 K-th Number 【划分树】
题目来源:http://poj.org/problem?id=2104★通过这个题来简述一下划分树的算法,算是模板题了~题意:给一个长度为n的序列,然后有m次询问,每次给一个区间 输出这个区间第k大的数思路:具体思路参考博客:https://blog.youkuaiyun.com/zxy_snow/article/details/6681086我就说一些没讲到的细节划分树 结点是原序列,然...原创 2019-11-20 23:53:19 · 280 阅读 · 0 评论 -
HDU 4069 Squiggly Sudoku 【DLX+BFS】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4069★这题一开始题都看不懂,后来发现还是挺有意思的题意:给你一个9x9的矩阵, 矩阵里面有一些墙将数字划分为9个包含9个数字的宫 ,现在要问你能不能找到一种填数字的办法,使得矩阵的 每一行 每一列 每一宫 都包含9个不同的数字 。而输入告诉你每个点的哪个方向有墙,输入中的81个数...原创 2019-11-03 16:39:48 · 395 阅读 · 0 评论 -
POJ 3074 Sudoku 【DLX】
题目来源:http://poj.org/problem?id=3074★我是真滴菜,这题又搞了三天,最后又是一个小细节问题。但愿这次之后真正理解了舞蹈链题意:有一个9x9的矩阵,有些位置的数字已经确定了下来,但还有很多地方没确定。现在你要找到一个满足如下条件的填数字的方法,然后输入最终填完的矩阵①:每个单元有且仅有一个数字②:每一列包含了1-9的9个数字③:每一行包含了1-9的9个...原创 2019-11-01 13:27:55 · 296 阅读 · 1 评论 -
POJ 1084 Square Destroyer 【DLX】
题目来源:http://poj.org/problem?id=1084★这题做了一上午,一直在找bug,难受哇题意:现在有一个由边长为1的火柴拼成的正方形,火柴id 从上到下从左到右 。如果现在拿走一些火柴,问 最少 还需要拿走多少火柴,使得这个图形 不包含正方形思路:我们将 所有的火柴看做舞蹈链的行,所有的正方形看做舞蹈链的列 ~那问题就很简单了。但是在舞蹈链初始化之前还是有...原创 2019-10-30 14:09:01 · 449 阅读 · 0 评论 -
HDU 2295 Radar【DLX+二分】
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2295★目前只有代码 将就将就代码#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#i...原创 2019-10-24 23:25:13 · 250 阅读 · 0 评论 -
POJ 2912 Rochambeau 【种类并查集】
题目来源:http://poj.org/problem?id=2912★好久没写题了,又回到了并查集,发现并查集都没学好,写个锤子线段树翻译:有一群孩子在玩剪刀石头布游戏(真的是没看到剪刀石头布 半天不会写,一看到就明白了一二分)一个人是裁判,其他的分为三组(可能有些组没人)除了裁判可以变换着出,其他人都只能出固定的,并且同组的人是平局然后给出m组胜负结果,让你判断能不能找到裁判...原创 2019-10-16 17:47:07 · 275 阅读 · 0 评论 -
HDU 4578 Transformation 【线段树】
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4578★这题有有3个操作,需要考虑的因素比较多,题意:有n个数,4种操作①:把[ l , r ]的每个数加上c②:把[ l , r ]的每个数乘上c③:把[ l , r ]的每个数变成c④:输出[ l , r ]之间的数的 k次方的和 k=1,2,3思路:首先要明确的一点,前三...原创 2019-09-27 11:54:28 · 218 阅读 · 0 评论 -
HDU 3974 Assign the task 【线段树+dfs时间戳】
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3974★开学之后又有好久没写博客了,快一个月了,写了一下以前写过的题目,居然忘记怎么写了。。。不会写的原因是MLE 没有把head数组清0,调了一晚上,枯了题意:现在有一个公司,里面有n个员工,员工之间有上级和下属的关系。上级得到了任务 他会立刻和其所有下属转手干这份工作(把之前的事抛在...原创 2019-09-25 17:40:05 · 267 阅读 · 0 评论 -
洛谷 P1505 旅游 【树链剖分+线段树】
题目来源:https://www.luogu.org/problem/P1505★这题debug了一下午,最后终于AC了~代码:#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#include<cstring>#include&l...原创 2019-08-30 19:12:13 · 282 阅读 · 0 评论 -
Codeforces 145 E-Lucky Queries 【线段树】
题目来源:https://codeforces.com/problemset/problem/145/E★这题把题目意思看错了。。。难度不是特别大~题意:给你一个长度为n的 只包含字符4和7 的字符串,有两种操作将 l 到 r 区间内的4变成7、7变成4输出整个字符串中的 最长不递减子序列的 长度要注意的是,这里 不是连续的子序列,我就被这里坑了思路:分别用 l4 记录 ...原创 2019-08-16 16:23:27 · 201 阅读 · 0 评论 -
Codeforces 85 D-Sum of Medians 【线段树】
题目来源:https://codeforces.com/problemset/problem/85/D★这题看输入感觉是线段树,但是写的时候没有一点思路。。。题意:有3种操作1.添加一个数到集合中2.删除集合中的某个元素3.输出 集合排序后 序号mod5==3 的所有元素的和其中:不会往集合中添加 已经出现过的元素,也不会无缘无故删去 集合中没有的元素思路:可以预存代...原创 2019-08-16 14:02:00 · 282 阅读 · 2 评论 -
HDU 2586 How far away ?【LCA】
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2586★就是这题让我入坑了 LCA ,目前只会 倍增法求LCA ,所以题解也是用的倍增法(不过我看其他题解没看到用倍增的)思路:先 不考虑点之间的距离(设每个点的距离为1)假设要 求 点a到点b 的距离,且已知 点a和点b 的LCA是 点t现在用dep[ i ]表示点i的深度,那么 点a到点...原创 2019-08-15 08:51:19 · 153 阅读 · 0 评论 -
POJ 1177 Picture & HDU 1255 覆盖的面积 【线段树+离散化+扫描线】
题目来源:POJ http://poj.org/problem?id=1177HDU :http://acm.hdu.edu.cn/showproblem.php?pid=1255★实在是蔡,扫描线居然硬是看了一天,就发篇博客说说叭扫描线:扫描线一般运用在图形处理上面,来解决一些周长 面积的问题(比如 给你很多矩形的位置,让你求他们总共的面积,注意这里的矩形可以重叠,所以问题就变得复杂了...原创 2019-07-20 10:29:16 · 361 阅读 · 0 评论 -
NOI 2015 & 洛谷1955 程序自动分析 【离散化+并查集】
题目来源:https://www.luogu.org/problemnew/show/P1955★当时怎么没有写出这题,我**了相关知识:unique函数的用法:例子:unique(g+1,g+m+1)-g unique函数的作用就是去重(把重复的元素放在后面去)然后返回去重后(不考虑放在后面去的重复元素)的尾指针lower_bound就是二分查找思路:关于等于或不等于,我们...原创 2019-07-17 10:27:36 · 198 阅读 · 0 评论 -
POJ 2352 Stars 【线段树】
题目来源:http://poj.org/problem?id=2352★这题我一开始题目都理解不了awa 后来经过同学指点才知道意思 但是知道也没用 还是不会写~题意:大概就是输出 0 到 n-1 level层所有的点数,一个点的左下方(包括左下的线上)有多少个点就是多少层思路:以x轴为线 建树(不知道说的规范不),要边输入边更新点,因为如果你一次性的把点更新完了...原创 2019-07-16 23:31:07 · 186 阅读 · 0 评论 -
WUSTOJ 1940 打击犯罪 【并查集】
题目来源:http://acm.wust.edu.cn/problem.php?id=1940&soj=0★这题本来是不想写博客的,原因是:之前我也不会写,我搜了几篇博客都是WA的代码,我就发一波叭,感谢我滴同学的帮助~相关知识:并查集是一种集合思想,将相关的一类放在一个集合中,这里我通过数组来实现(还可以用链表和树实现)用到了vector动态数组,用处就是减少内存,下图就是使用...原创 2019-03-04 13:00:54 · 624 阅读 · 0 评论 -
HDU 1237 & WUSTOJ 1642 算术表达式的求值(简单+复杂)【栈和队列】
先说简单的算术表达式的求值题目来源:HDU http://acm.hdu.edu.cn/showproblem.php?pid=1237★这题因为没有括号,所以很简单,甚至不需要栈和队列(我就没用)相关知识:算是小学知识了叭,一个规律不知道你们记得否:如果没有括号,算术表达式一定是一个数一个运算符交替排列的。思路:首先输入一个数,然后接着一定是 一个符号+一个数 的规律直到最后,在过...原创 2019-02-23 11:50:38 · 429 阅读 · 0 评论 -
WUSTOJ 1651 根节点到指定结点的路径【二叉树】
题目来源于 http://acm.wust.edu.cn/problem.php?id=1651&amp;soj=0★这题不是二叉树的应用,但要了解二叉树相关的知识qwq相关知识:二叉树的创建,我通过构造一个函数建立的,详见build函数。感谢我的同学的帮助,我是在太菜了awa栈的先进后出的特性,这题我用得好别扭,但是我不会更好的办法了思路:首先根据输入字符串构建二叉树就不说了叭。通...原创 2019-02-17 19:57:49 · 473 阅读 · 0 评论 -
HDU 1710 & WUSTOJ 1649 求后序遍历 【二叉树】
题目来源于 http://acm.wust.edu.cn/problem.php?id=1649&amp;amp;soj=0★这题没有应用到二叉树,但是解出这题要对二叉树的遍历方式有深刻的理解qwq相关知识:1.二叉树前序遍历: 先访问根节点,再遍历左子树,最后遍历右子树。简单地说就是,先中再左后右2.二叉树中序遍历: 先遍历根节点的左子树,再遍历根节点,最后遍历根节点的右子树。先左再中后右3...原创 2019-02-14 13:42:03 · 292 阅读 · 0 评论 -
C++ STL容器 基础介绍及总结【总结】
★ STL(标准模板库)在一些算法问题中很常用,我也只会一点,所以有必要整理一下,顺便让大家学学qwq★dalao的话还是绕道吧真的很基础,不过也可以帮萌新指正一些错误栈(stack)1.使用前需要声明头文件< stack >#include<stack>解释:他是一个先进后出的容器,就是先放进去的元素,后出来eg. 先让1入栈,再让2入栈,那么2先出栈,1后...原创 2019-04-17 19:21:32 · 328 阅读 · 1 评论 -
洛谷 P3379 最近公共祖先 【LCA】
题目来源:https://www.luogu.org/problem/P3379★第一道LCA题,看了半天,这是一道入门滴模板题 LCA有很多解法,本题仅用 倍增法求LCA (我目前只会这一种 )思路:仔细地看样例,可以看明白什么是LCA了吧。先说说直观的暴力思路:每个点有一个dep,代表 深度 。现在要求 LCA(a,b ,那么如果 dep(a)<dep(b) ,则交换...原创 2019-08-14 16:21:50 · 369 阅读 · 1 评论 -
Codeforces Beta Round #19 D 【线段树】
题目来源:https://codeforces.com/contest/19/problem/D★一两个星期没写线段树了,第一题就不会awa ~ 题解使用了 C++ STL库 中的 set (集合)翻译:在一个以(0,0)为原点的二维坐标系下,x轴向右,y轴向上。现在有三种操作,①:增加一个点;②:删去一个点;③:询问一个点(x,y),询问时,找(x,y)右上方 的所有点中 先尽可能靠...原创 2019-08-05 21:10:14 · 188 阅读 · 0 评论