前缀和
Jerry99s
OI -> ACM -> AI
展开
-
NOIP2012 借教室
题目:http://www.luogu.org/problem/show?pid=1083# 分析: 法一:二分+前缀和 法二:线段树 代码:#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int Tmax=1000005;int n,m;long long int原创 2015-09-01 20:17:53 · 443 阅读 · 0 评论 -
CF479 Riding in a Lift
题目:http://codeforces.com/problemset/problem/479/E 分析:前缀和优化的DP.一开始写跪了,但今天几分钟写出来了,于是得出一个结论:千万不要吝啬一个变量,只要能简化代码! 代码:#include <cstdio>#include <algorithm>using namespace std;const int Tmax=5005;const原创 2015-09-24 21:20:10 · 327 阅读 · 0 评论 -
NOIP2011 聪明的质检员
题目:http://www.luogu.org/problem/show?pid=1314# 分析: 1. 对于检验值的求解: Yi=j*Σv[j],L[i]< j< R[i]且w[j]>=W; 2. 然后O(nlogw)二分,check()中用前缀和思想快速求Yi=(sumn[R[i]]-sumn[L[i]-1])*(sumv[R[i]]-sumv[L[i]-1]); 3. 注意:该用lo原创 2015-09-11 11:42:52 · 1086 阅读 · 0 评论 -
BestCoder#57 Conturbatio
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5480 分析:前缀和。第一感觉想到二维,其实一维就行,xy坐标分别前缀和。有个地方一开始写成&&了其实是||。注意每行每列都只能加一次。 代码:#include <cstdio>#include <algorithm>#include <cstring>using namespace std;co原创 2015-09-28 19:09:58 · 318 阅读 · 0 评论 -
洛谷2629 好消息,坏消息
题目:http://www.luogu.org/problem/show?pid=2629# 分析:。。。 代码:#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int Tmax=1000005;int n,a[Tmax],suml[Tmax],sumr[Tmax],fl[原创 2015-11-01 21:54:01 · 537 阅读 · 0 评论 -
HDU5583 Kingdom of Black and White
题目: 给一串01字符串,至多改变其中一个(0->1/1->0/不改变),求操作完成后,连续符号(连续0/连续1)长度的平方和最大值 分析: 我啥也不想说! 就一个字:所有变量开long long!!!调了两天! 以后长记性! 代码:#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>usi原创 2017-10-06 11:04:08 · 219 阅读 · 0 评论 -
CF903 D.Almost Difference
题目:http://codeforces.com/contest/903/problem/D 分析: 一开始做的好麻烦(离散化+前缀和+map),后来看了别人的代码简化了一下(前缀和+map)。 先说下思路,对第i个数,不考虑距离在1之内的情况,对答案的贡献是(i-1)*a[i]-sum,sum是1..i-1的前缀和; 注意: 要用longdouble!若输出用%.0Lf,需要用c++14,原创 2017-12-13 22:36:14 · 258 阅读 · 0 评论 -
Codeforces Gym 101498G. Super Subarray
题目: http://codeforces.com/gym/101498/problem/G题意: 给n个数,求有多少对[l,r]使得∑data[i] (i∈[l,r]) 能被任一data[j]整除 (j∈[l,r])分析: 设一堆数的和为sum,这堆数的最小公倍数为lcm; 若这堆数的和,能被任一数整除,则sum%lcm==0; (理解:最小的能被任一数整除的数就是lcm,...原创 2018-02-24 10:37:57 · 429 阅读 · 0 评论 -
Codeforces 271D. Good Substrings (后缀数组+前缀和)
题目: http://codeforces.com/problemset/problem/271/D题意:给定一个字母串s,给定每个字母是good/bad字母;一个子串如果包含的bad字母数<=k,则为一个good串;求有多少个good串。分析:首先可以用前缀和处理出s[0]~s[i]有多少个bad字母,用sum[i]表示;则可以 O(1) 地查询任意一个串是否是good串;...原创 2019-01-23 18:47:49 · 611 阅读 · 0 评论