码迷,mamicode.com
首页 >  
搜索关键字:前缀和    ( 2330个结果
【BZOJ4385】[POI2015]Wilcze do?y【单调队列】【前缀和】【Two Pointers】
【题目链接】 题解: 如果区间[j, i]固定,那么一定是将权值最大的一段变为0。 用单调队列维护一段区间内权值最大的子段下标(这里记录右端点下标,设为x),枚举右端点i,用尺取法计算出j。 一段区间[j, i]合法的条件是sum[i] - sum[j - 1] - (sum[x] - sum[x - d]) 复杂度: 时间复杂度:因为每个点最多遍历2次,复杂度为O(n)...
分类:其他好文   时间:2016-05-12 22:08:36    阅读次数:238
[BZOJ1202][HNOI2005]狡猾的商人(并查集+前缀和)
不想哭就只有变强了,无论发生什么都不会掉泪的坚强。...
分类:其他好文   时间:2016-05-12 16:46:47    阅读次数:201
BZOJ4384: [POI2015]Trzy wie?e
题目大意:要选一段最长的字符串,使得三种字符出现次数各不相同或只有一种 只有一种的直接就能扫出来,然后就想各不相同的 首先维护一个前缀和,代表到每个点时,前缀B,C,S的个数 然后令xi=bi-ci,yi=ci-si,zi=si-bi,每个点权值为自己的位置 如果两个点的xi,yi,zi均不相同,这一段就可以选 所以可以先按x排序,这样就干掉一维 然后我们设x相同的为一组,首先我们把包...
分类:其他好文   时间:2016-05-12 16:42:46    阅读次数:331
[SCU 4503] TooEasy Or TooDifficult (Manacher+xor-Trie)
SCU - 4503板子题,依题意描述分为三个步骤 1. 求每个位置为中心的回文串,以及最大回文串 2. 求每个回文串的长度的异或前缀和 3. 求两个异或前缀和异或的最大值 (xor-Trie) 然后用快速幂算出 JD,再和 FJD比大小即可注意一下 Trie上要先插入一个 0#pragma comment(linker, "/STACK:102400000,102400000") #i...
分类:其他好文   时间:2016-05-12 15:32:18    阅读次数:147
bzoj 1202: [HNOI2005]狡猾的商人(并查集+前缀和)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2573  Solved: 1209 [Submit][Status][Discuss] Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为A...
分类:其他好文   时间:2016-05-12 15:29:42    阅读次数:170
我眼中的KMP
KMP是用于字符匹配的一个常用算法。next数组里面存放的是要查找的字符串前i个字符串的所有前缀、后缀相等的公共串中,最大的长度值。比如需要查找的一个子串ababcd,next[0]表示子串中前1个字符串即a的前缀和后缀中相等字符串的最大长度,因为a的前缀和后缀没有,故next[0] = 0;对于next[2],即先求出子串aba的前缀和后缀出来,前缀为a,ab,后缀有ba,a,相等的公共串为a,长度为1,因此next[2] = 1;依次可以求出。...
分类:其他好文   时间:2016-05-12 11:21:36    阅读次数:186
Python基础
变量和数据类型 一、整数十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2 整数和浮点数混合运算的结果变成浮点数。整数除法,除不尽时,结果仍是整数,余数直接被扔掉。同时,Python提供了一个求余的运算%可以计算余数11%4 如果要计算11/4的精确结果,按照“整数和浮 ...
分类:编程语言   时间:2016-05-10 23:30:09    阅读次数:263
bzoj1103: [POI2007]大都市meg
dfs序。 用l[u]和r[u]表示进入u和出去u的时间。用树状数组维护前缀和,l[u]处加1,r[u]处减1。 询问的是树根到自己u的距离,就相当于l[u]处的前缀和。为什么呢? 如果一个节点v在树根到u的路径上,就会在l[v]处加1。如果不在,如果编号小于u,l[v]和r[v]处相消。 如果大于... ...
分类:其他好文   时间:2016-05-10 18:12:51    阅读次数:147
[斜率优化] codefores 660F. Bear and Bowling 4
F. Bear and Bowling 4 题意: 给一个序列valval,任选连续的一段[l,r][l,r],其价值为∑rj=lval[j]?(j?l+1)\sum_{j=l}^{r}val[j]*(j-l+1),求最大价值 。 简单的说就是可以去掉这个序列的某前缀和某后缀,然后对新得到的valval求ans=∑val[i]?ians=\sum val[i]*i ,最后求max(ans)ma...
分类:其他好文   时间:2016-05-07 09:19:28    阅读次数:286
codevs 1217 借教室
差分思想:考虑[l,r]借d个教室,那么让s[l]+=d,s[r+1]-=d,然后对s求一遍前缀和,就是每天的情况,就可以判断是否超出。 然后可以二分。 线段树最多95 23333333...... 其实是抄的黄学长的代码。。。不想写了。 ...
分类:其他好文   时间:2016-05-05 17:31:24    阅读次数:92
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!