摘要: 题目看这里一道比较简单的贪心题容易想到从前到后确定每一位我们可以用一个splay来维护当前未确定的部分的顺序假设当前剩下k次操作机会那么我们可以求出splay中前k+1个元素中的最大元素i,令k减少rank(i),让后将其输出并从splay中删掉最后k=0时,输出sp... 阅读全文
posted @ 2018-04-27 22:04 扩展的灰(Extended_Ash) 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目看这里基于一个思想,如果x=y+1 那么一定有x%M=y+1%M可以发现1+√2和复数有着类似的运算法则,可以用快速幂加取模来计算所以我们考虑用几个不同的模数来判断,如果都有x=y+1,那么就可以认为问题有解#pragma GCC opitmize("O3")#p... 阅读全文
posted @ 2018-04-27 21:42 扩展的灰(Extended_Ash) 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目看这里题意很简单,大概是有多少种删边方法使得每一块大小不小于k我们设一个树形dp,f[i][j]表示i的子树中,i所在联通块的大小为j的方案数有多少特别的,我们用f[i][0]表示∑f[i][j] (j>=k)那么可以写出以下转移:f[x][i+j]+=f[x][... 阅读全文
posted @ 2018-04-27 21:09 扩展的灰(Extended_Ash) 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目看这里01分数规划入门题这道题有非常经典的错误解法:按照pi/wi排序这样是不能保证答案最大的,反例(本体样例)已经有了那么我们来考虑怎么做首先我们二分这个答案ans让后我们给每个物品i设置一个权值v[i]=p[i]-ans*w[i]所有物品按照v排序,取前k大求... 阅读全文
posted @ 2018-04-27 20:01 扩展的灰(Extended_Ash) 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目看这里数论好题我们以前在做反演的时候,常常用到一个叫做分块除法的东西具体来说,[n/i]只会有不超过√n种取值那么这题也可以这样做 因为n%i=n-[n/i]*i我们可以对i分块,对于[n/i]取值相同的一起计算,那么每次就是一个等差数列求和,总复杂度O(√n)#... 阅读全文
posted @ 2018-04-27 19:45 扩展的灰(Extended_Ash) 阅读(123) 评论(0) 推荐(0) 编辑
摘要: “破窗理论”是法国19世纪经济学家巴斯夏作为批评的靶子而总结出来的,见其著名文章《看得见的与看不见的》,下面是这一段的译文: 你是否见过这位善良的店主——詹姆斯·B·萨姆纳先生生气的样子?当时,他那粗心的儿子不小心砸破了一扇窗户玻璃。如果你置身于这样的场合,你恐怕会看... 阅读全文
posted @ 2018-04-27 19:37 扩展的灰(Extended_Ash) 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目看这里各种求和最好玩的啦看到题目就应该知道要单独考虑每个元素的贡献那么一个元素i的贡献肯定是a[i]*(l[i]-i)*(i-r[i]),这里l,r分别表示左边和右边第一个比i大的数的位置最大值部分的贡献算完了最小值是类似的考虑怎么求这个l和r,直接上单调栈就可以... 阅读全文
posted @ 2018-04-27 17:38 扩展的灰(Extended_Ash) 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目看这里+一看求和就知道是要先用前缀和的让后看到类似相等和不相等的条件,可以考虑并查集当然这道题由于变量的值一定是0,1所以关系只有不等号也有反传递性,可以直接拆点来做如果s[i]=s[j]那么我们就将i,j所在的并查集合并,将i'和j'所在的并查集合并否则我们将i... 阅读全文
posted @ 2018-04-27 17:30 扩展的灰(Extended_Ash) 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目看这里想到了NOIP普及组当年那道题做法非常显然,O(n^2)枚举矩形的上下边界,让后用一个dp+前缀和就搞定了f[i]表示以第j列作为结尾的最大子矩形的宽,那么如果第i列在[l,r]的范围都是1,那么f[i]=f[i+1],否则f[i]=0答案就是max{(r-... 阅读全文
posted @ 2018-04-27 17:20 扩展的灰(Extended_Ash) 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个数学题,答案就是卡特兰数*2求卡特兰数要用到组合数求法f[n]=C(2n-2,n-1)/n由于模数较小,可以Lucas定理直接做,但是这样是有问题的因为n不一定和模数互质,但是还是A了,数据比较水#pragma GCC opitmize("O3")#pr... 阅读全文
posted @ 2018-04-27 17:11 扩展的灰(Extended_Ash) 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个经典的dp题,典型的错误思想就是做两遍我们考虑直接做,f[i][j][x][y]表示第一次取道i,j这个位置,第二次到了x,y这个位置考虑这个i,j和x,y分别是从哪里转移过来,就可以得到方程f[i][j][x][y]=max(f[i-1][j][x-1... 阅读全文
posted @ 2018-04-27 17:03 扩展的灰(Extended_Ash) 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个非常好的结论题发现题目要求要严格递增而且要求要正整数,所以直接做LIS不行我们令原序列s变为s[i]-i那么如果s[i]-i是一个负数,肯定不符合题意答案加一去掉所有负数以后,就可以对s做一个LIS了,这里LIS可以是严格非降的就可以了#include#... 阅读全文
posted @ 2018-04-27 16:16 扩展的灰(Extended_Ash) 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目看这里看一看知道可以dp设f[i][s1][s2][s3][s4]表示走了i步,每个机器人分别在哪个格子里用矩阵优化但是发现状态数过于巨大,会TLE考虑设f[i][j][k]表示走了i步,从j格子走到k格子的方案数那么显然f[i]=T^i 其中T是全1矩阵减掉单位... 阅读全文
posted @ 2018-04-27 11:50 扩展的灰(Extended_Ash) 阅读(221) 评论(0) 推荐(0) 编辑