![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CodeChef
文章平均质量分 73
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 · 182 阅读 · 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 · 285 阅读 · 0 评论 -
CC DEC.17 Chef And Easy Xor Queries 分块+懒标记
题意:长度为n的序列a,Q次操作,操作1:(i,x)将第a[i]变为x. 操作2:(i,k) 问有多少个前缀j(jn,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 · 360 阅读 · 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 · 238 阅读 · 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 · 517 阅读 · 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 · 359 阅读 · 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 · 155 阅读 · 0 评论