解释一下单调队列的原理(一维前缀和请自行百度) 对于这道题来讲,枚举每一个点的前缀和,然后寻找前m个点的前缀和最小值即可。 然后我们发现其实不用O(n)的扫描的,因为假设我们正在处理第i个点,除了第i-1个点没有被比较过以外 前i-1到i-m个点都被比较过了就可以利用这个原理减少重复计算。 然后单调 ...
分类:
其他好文 时间:
2017-10-15 19:25:53
阅读次数:
157
1 int a[N],bit[N],n; 2 3 int lowbit(int k) {return k&(-k);} 4 5 void build(){ 6 for(int i=1,x;i0){ 22 ans+=bit[k]; 23 k-=lowbit(k); 24 } 25 return ans... ...
分类:
编程语言 时间:
2017-10-15 18:06:25
阅读次数:
149
三种不同的方法计算前缀和,并与CPU的结果进行了对比。 ? 结果如下图。第一种方法存在不可重现的bug,且仅当输入数组规模大于512时开始出现,原因未知。其他几种方法计算结果均正确,再计算较短的响亮的时候第三种方法(改良的收集 - 分发树法)效率最高,当向量长度远大于自己设定的阈值1024(单个线程 ...
分类:
其他好文 时间:
2017-10-15 11:27:49
阅读次数:
318
B. Balanced Substring You are given a string s consisting only of characters 0 and 1. A substring [l,?r] of s is a string slsl?+?1sl?+?2... sr, and it ...
分类:
其他好文 时间:
2017-10-14 15:04:05
阅读次数:
206
http://acm.split.hdu.edu.cn/showproblem.php?pid=2594 题意:给出两个字符串,求最长的子串使得该子串同时是第一个字符串的前缀和第二个字符串的后缀。 思路:这道题本来就是KMP算法的一个应用吧。 在用kmp进行匹配时,文本串的最后一串字符肯定和匹配串起 ...
分类:
其他好文 时间:
2017-10-13 21:15:08
阅读次数:
87
CodeForces 862E 题意: 给出长度为 n 的数组 a[] 和长度为 m 的数组 b[],有 q 个询问,每次询问把区间标号 [l,r] 的 a[] 加上 x, 每次求最小的 f(j) 。 tags: 发现有奇偶规律,每次询问其实只会加或减一个 x ,而 b[] 相加减可以前缀和预处理出 ...
分类:
其他好文 时间:
2017-10-12 21:53:03
阅读次数:
165
P3397 地毯 前缀和最开始接触是在日照夏令营,lca的一段子树中加或减一个数然后打标记,求前缀和000+10000-100000000111110000二维也一样,比如对子矩阵都加10+100000-100+100000-100+100000-100+100000-100+100000-10然后 ...
分类:
其他好文 时间:
2017-10-12 20:33:15
阅读次数:
229
n<=3000个数划分成m段,每段的权值为这一段数字的和,求段的最小方差乘上m平方。 所以就是求上边那组平方和的最小值,这个可以dp,f(i,j)表示分成i段,前j个数最小方差, pre表示前缀和,这个式子可以用斜率优化或决策单调性解决。 1 #include<stdio.h> 2 #include ...
分类:
其他好文 时间:
2017-10-12 17:03:12
阅读次数:
87
Noip2016day2解题报告 张炳琪 一.时间安排: T1:50分钟 T2:80分钟 T3:40多分钟 二.答题情况: T1:100 组合数问题前不久接触过,又加上刚强调的前缀和,加上取模就可以了。刚开始的时候不理解样例,还手模了好久 T2:40 看到7*10^6次方的数据范围,就开始在想On的 ...
分类:
其他好文 时间:
2017-10-12 16:13:32
阅读次数:
152
Roma and Poker 题意:W表示A赢,L表示输,D表示平局,?表示不确定,当净胜或净输达到k的时候游戏结束,已知n轮后游戏结束,现在给出n轮的胜负,?表示未知,确定?的情况,使得在n轮之后游戏结束 思路:1、将胜看作1 负为-1 平局为0,净胜即为前缀和, dp[i][j]表示前i轮净胜为 ...
分类:
其他好文 时间:
2017-10-12 00:52:00
阅读次数:
223