随笔分类 - 算法基础——前缀和
摘要:CodeForces - 1208E 经典滑动窗口问题,如果以物体为参考系的话。前缀和优化区间操作 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #def
阅读全文
摘要:Gym - 101991D 离散化+前缀和统计上次写离散化已经是一年前多了 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1010 #define p(a) putchar(a) #define For(i,a,b)
阅读全文
摘要:rock-paper-scissors维护三个前缀和,然后注意顺序,最后做差来确定可行的答案,因为答案比较小,可以考虑这种暴力做法,像这种方案数可以++的题真的不多,如果想不出来特别优秀的想法,不妨简单化思维 1 #include<iostream> 2 #include<cstdio> 3 #in
阅读全文
摘要:P3258 [JLOI2014]松鼠的新家倍增lca+树上差分,从叶子节点向根节点求前缀和,dfs求子树和即可,最后,把每次的起点和终点都。
阅读全文
摘要:B. Divisiblity of Differencestime limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard outputYou are given a mult
阅读全文
摘要:P3917 异或序列暴力前缀异或枚举每一个区间,再求和,60分。正解:按每一位来做对于区间[l,r],如果它对答案有贡献,区间中1的个数一定是奇数,可以按每一位取(1<<i)的前缀和,q[r]-q[l-1]一定是奇数,那只要保证端点值奇偶性不同即可。根据乘法原理,奇数*偶数就是满足条件的区间个数,这
阅读全文
摘要:P2837 晚餐队列安排对程序有新的理解难度:读懂题&&准确地从题中提取有效信息>设计算法>代码实践mmp,我看错题啦。前缀和&&枚举断点即可 1 #include<queue> 2 #include<algorithm> 3 #include<cmath> 4 #include<ctime> 5
阅读全文
摘要:树状数组在去年就会写会用了,记得去省选的时候66.7%的分数是靠树状数组得的。用法1:最开始用它是用它求逆序对,当前已经读了i个元素,比a[i]小的有query(i)个,那么比a[i]大而且比a[i]先读入的有i-query(a[i])个; 用法2:单点修改,区间求和 用法3:区间修改,单点查询这个
阅读全文
摘要:P3397 地毯 前缀和最开始接触是在日照夏令营,lca的一段子树中加或减一个数然后打标记,求前缀和000+10000-100000000111110000二维也一样,比如对子矩阵都加10+100000-100+100000-100+100000-100+100000-100+100000-10然后
阅读全文