
CodeChef
文章平均质量分 72
orz11111111
这个作者很懒,什么都没留下…
展开
-
CodeChef DEC17 D.Hamming Distance of arrays 构造,模拟.
题意:长度为n的序列a,序列a中每个元素出现次数 打乱序列a的顺序得到序列b.问(b[i]!=a[i])个数最多的序列b为多少? T 若每个元素只出现一次 则将序列a左循环移动一位即可. 现在将位置分成出现两次和出现一次.两种位置各自做左循环移位即可. #include using namespace std; typedef long long ll; const int N=原创 2017-12-08 17:50:29 · 217 阅读 · 0 评论 -
CC NOV14 Chef and Churu 分块+BIT维护单点.
题意:长度为n的序列a,现在有n个函数f,第i个函数f[i]的值为(a[l[i]]+a[l[i]+1]...a[r[i]]).Q个操作 操作1:修改a[i]的值. 操作2:求f[l]+f[l+1]+..f[r]的值. n,Q 可以用BIT O(logn)内求出一个f[i]的值 查询一次要O(nlogn) 总共O(Q*nlogn) TLE.... 现在能在O(logn)内求出一个f原创 2017-12-11 20:19:00 · 322 阅读 · 0 评论 -
CC DEC.17 Chef And Easy Xor Queries 分块+懒标记
题意:长度为n的序列a,Q次操作,操作1:(i,x)将第a[i]变为x. 操作2:(i,k) 问有多少个前缀j(j n,Q 暴力的话 每次单点修改a[i],都要修改pre[j](j>=i)的前缀和.每次查询都要查询每个pre[i](i 现在对pre来分块.每块维护cnt[i][x]:该块pre值为x的有多少个. 修改一个a[i]->y. 对于每一块,每个x出现cnt次 则原创 2017-12-12 16:57:10 · 406 阅读 · 0 评论 -
CodeChef DEC17 C Total Diamonds 递推
题意:n*n的网格,(i,j)的编号为i+j,价值为编号位数中:偶数数字和奇数数字的差的绝对值 例如编号1222 价值为|2+2+2-1|=5. T 注意行与行之间的关系 第i行和第i-1行的编号除了首位和末位不同其它的都相同(第i行第x个等于第i-1行第x+1个). 设f[x]为数字x的价值,d[i]为第i行的总价值 则d[i]=d[i-1]-f[i-1+1]+f[i+i-1]+f原创 2017-12-08 10:43:28 · 275 阅读 · 0 评论 -
CC Killing Monsters 分块+DP(SoS)
题意:n个怪兽 第i只的血量为h[i].Q次操作,第i次操作为(x,y) 对所有满足i&x=i的下标i 其血量减少y. n0. 给出x x&i==i的下标i 肯定为x的子集 例如x=011110 i= 0????0 ?可以为0或者1. 子集什么,试一试用SoS 假如下标i二进制表示为 101100 那么对它有伤害的操作其x为 1?11?? i为x的子集 则i为1的位置必须置为1,原创 2018-01-21 17:59:42 · 549 阅读 · 0 评论 -
CC March18 Pishty And Triangle 线段树合并信息(三角形,斐波那契)
题意:长度为n的数列a,Q次操作. 操作1:给出(pos,x) 令a[pos]=x 操作2:给出[L,R] 问(a[L],a[L+1]..a[R]) 能组成的三角形中周长最长的为多少? n,Q 先来一个暴力的解法: 对每个询问,枚举当前区间[l,r]第i个数作为最大值时, 因为三角形两边之和要大于第三边,所以剩下两个边在小于a[i]的情况下,显然越大越好. 对当前区间原创 2018-03-12 23:30:02 · 388 阅读 · 0 评论 -
CC April 18 Cutting Plants 单调队列+思维
题意:长度为n的序列A,B.操作:选定一个区间[L,R]将里面的数变为h , h<=min(a[L],a[L+1]...a[R]). n<=1e5,1<=a[i],b[i]<=1e9. 问将序列A变为序列B最少需要多少次操作? 无解输出-1. 假设某次操作是将[L,R]内的数变为x. 则x要满足 max(b[i]) <= x <= min(a[i]) i...原创 2018-10-26 17:28:23 · 179 阅读 · 0 评论