随笔分类 -  算法基础——前缀和

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