随笔分类 - 差分,前缀和
摘要:题目:[NOI Online #1 提高组] 冒泡排序 看到范围这么大,求逆序对,有修改,估计也只能树状数组了,考查冒泡排序性质,排第i次冒泡排序,总逆序对个数会减少i的逆序对个数,然后交换两个数,他们相对整个序列没有改变,也就是说,交换两个数,只可能是其中一个数逆序对个数+1或者-1,抓住这两点这
阅读全文
摘要:题目:Mishka and Interesting sum 这题稍微分析就能发现实际这个题就是求区间异或和异或上区间不同数的异或和,因此直接转化为HH的项链。 代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <
阅读全文
摘要:题目:CF1110E Magic Stones 每次操作 c[i]变成c[i-1]+c[i+1]-c[i],那么显然,c[1]和c[n]是不会改变的,因此只要c[1]和t[1],c[n]和t[n]不相等,一定是输出No。 接着分析,不妨设x=c[i-1],y=c[i],z=c[i+1],那么x,y,
阅读全文
摘要:题目:IncDec Sequence 思维题,差分好题,每次区间操作,对应差分a[l]+=v,a[r+1]-=v,在差分数组中一定有一个正负号抵消,那么我们求出差分数组中正数(负数)和,记做s1,s2。 显然,当s1,s2为0时,剩下的没有归0的元素只能与a[1]或a[n]配,答案就是abs(s1-
阅读全文
摘要:题目:[HNOI2003]激光炸弹 二维前缀和,扫大小为m*m的矩形,取最大即可。 代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> const int N=5e3+5; using na
阅读全文