随笔分类 - ACM-数据结构
摘要:好题~~给你n个数和k,求有多少的区间使得区间内部任意两个数的差值小于k,输出符合要求的区间个数,枚举后界~~又是一种没见过的方法,太弱了/(ㄒoㄒ)/~~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include ...
阅读全文
摘要:看出来是单调栈维护斜率,但是不会写,2333,原来是和询问放在一起的 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 typedef __int64 ll; 8 using namespace std...
阅读全文
摘要:再遇到一个DLC就刷个专题 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #in...
阅读全文
摘要:和poj2082差不多,加了一个宽度的条件
阅读全文
摘要:给出一系列的1*h的矩形,求矩形的最大面积。 如图: 题解链接:点我
阅读全文
摘要:题意:一群高度不完全相同的牛从左到右站成一排,每头牛只能看见它右边的比它矮的牛的发型,若遇到一头高度大于或等于它的牛,则无法继续看到这头牛后面的其他牛。给出这些牛的高度,要求每头牛可以看到的牛的数量的和。 1 #include 2 #include 3 #include 4 #include 5 #...
阅读全文
摘要:题目大意:给出一个N*N矩形,每个格子上有一个价值。询问一个b*b的矩形在左上角的位置(x,y),(x+b-1,y+b-1)这一部分的最大值-最小值是多少。模板题 1 #include 2 #include 3 #include 4 #include 5 using namespace st...
阅读全文
摘要:题意:给出n个数和Q个询问(l,r),对于每个询问求出(l,r)之间连续出现次数最多的次数。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #...
阅读全文
摘要:题意:Given you a sequence of number a1, a2, ..., an.They are also a permutation of 1...n. You need to answer some queries,each with the following for...
阅读全文
摘要:题目大意:有一个数列 x1..xn,要求一个数x使得 sigma(abs(xi-x))值最小,很明显,对数列进行排序后最中间的那个数就是x,可用划分树求得,那么如何求和呢,经过计算可知,既然x 是最中间的那个数,那么最后的和 即为 x左边 xmid-x1+xmid-x2.. + x(mid+1) -...
阅读全文
摘要:题目大意很简单。有一颗树(10^5结点),所有结点要么没有子结点,要么有两个子结点。然后每个结点都有一个重量值,根结点是1然后有一个球,从结点1开始往子孙结点走。每碰到一个结点,有三种情况如果此球重量等于该结点重量,球就停下了如果此球重量小于该结点重量,则分别往左右儿子走的可能都是1/2如果此球重量...
阅读全文
摘要:题意:题意:给你一个长度为n的数列,要求一个子区间,使得区间的最大值与最小值的差s满足,m<=s<=k,求满足条件的最长子区间链接:点我假设数列为:8,7,12,5,16,9,17,2,4,6.N=10,k=3.那么我们构造一个长度为3的单调递减队列:首先,那8和它的索引0放入队列中,我们用(8,0...
阅读全文
摘要:转自:点我 题目:给出p1+p2个人,其中p1个是好人,p2个是坏人。然后有一些关系 ,a说b是好人(坏人).其中没有矛盾的,判断是否有唯一解判断哪些人是好人,哪些人是坏人。 其中比较重要的是,好人总说真话,坏人总说假话。不需要判断矛盾。唯一解 http://poj.org/problem?id=1
阅读全文
摘要:题目:给出n个人玩剪刀石头布的游戏,其中有一个人是裁判,剩下的人分为3组,每一组的人只出某一种手型,裁判可以任意出。问是否能判断出哪个人是裁判链接:点我分分钟看吐血,先把食物链看懂吧枚举裁判,然后并查集判断裁判由于可以任意出,所以可能属于任意一个集合,所以有裁判参与的会合不考虑,然后并查集部分和食物...
阅读全文
摘要:题意:给出一些点,每个点有权值,然后有一些边,相连。无向的。然后有一些操作链接:点我query a.表示从a出发的能到达的所有点权值最大的点的编号(相同取编号最小,而且权值要比自己大)destory a,b 表示删除连接a,b的边逆向并查集。把没有删除的边先加入并查集,一个集合内表示连通的,根结点为...
阅读全文
摘要:题意:给出多个区间的和,判断数据矛盾的区间有几个,比方说【1,5】 = 10 ,【6.10】= 10, 【1, 10】 = 30,这明显第三个与前面两个矛盾。链接:点我水题了,val代表到根的和 1 #include 2 #include 3 #include 4 #include 5 #inclu...
阅读全文
摘要:题意:题目:有一个长度 已知的01串,给出多个条件,[l,r]这个区间中1的个数是奇数还是偶数,问前几个是正确的,没有矛盾链接:点我解题思路:hash离散化+并查集首先我们不考虑离散化:s[x]表示(root[x],x]区间1的个数的奇偶性,0-偶数,1-奇数每个输入区间[a,b],首先判断a-1与...
阅读全文
摘要:题意:给出N条虫子,然后a和b交配,给出M对a和b后问有没有同性恋的虫子链接:点我和黑帮那题差不多 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int MAXN=2010; 7 int ...
阅读全文
摘要:题意:一张图上分布着n台坏了的电脑,并知道它们的坐标。两台修好的电脑如果距离 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define MOD 10000000...
阅读全文
摘要:题意:有几个stack,初始里面有一个cube。支持两种操作:1.move x y: 将x所在的stack移动到y所在stack的顶部。2.count x:数在x所在stack中,在x之下的cube的个数。链接:点我 1 /* 2 POJ 1988 3 */ 4 #include 5 #inclu...
阅读全文