码迷,mamicode.com
首页 >  
搜索关键字:前缀和    ( 2330个结果
Codeforces Round #294 Div2 D(A and B and Interesting Substrings)
给一个长度为N的字符串S,字符集是[a,z],每个字符都有一个权值Vi,求有多少个子串subS满足以下条件: 1. |subS|>=2 2. subS[0]=subS[|subS|?1] 3. ∑|subS|?2i=1Vi=0...
分类:其他好文   时间:2015-03-01 21:05:27    阅读次数:207
[CODEVS 3147] 矩阵乘法 2
描述 给出两个n*n的矩阵,m次询问它们的积中给定子矩阵的数值和。 http://codevs.cn/problem/3147/ 分析 直接 n3 的矩阵乘法肯定超时, 要采用前缀和优化 row[s1] … row[t1] col[s2] … col[t2] (s1, s2) – (t1, t2) row[x] * col[y]...
分类:其他好文   时间:2015-02-21 12:02:08    阅读次数:164
【dfs】【哈希表】bzoj2783 [JLOI2012]树
因为所有点权都是正的,所以对每个结点u来说,每条从根到它的路径上只有最多一个结点v符合d(u,v)=S。所以我们可以边dfs边把每个结点的前缀和pre[u]存到一个数据结构里面,同时查询pre[u]-S是否存在。数据结构用set、hashtable(随便卡)(需要支持删除,由于总是删掉最后一个,因此...
分类:其他好文   时间:2015-02-18 16:25:27    阅读次数:132
BZOJ3316 JC loves Mkk
首先断环成链,变成两倍长度。然后二(fen)分(shu)答(gui)案(hua),查看答案为ans的长度在[L, R]之间的链存不存在。我们可以维护前缀和,用单调队列O(n)判断是否和大于0又学习了个黑科技。。。::x表示全局变量x。。。 1 /***************************...
分类:其他好文   时间:2015-02-15 23:04:38    阅读次数:210
HDU5172GTY's gay friends——区间查询(区间内的数互不相同)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5172官方题解 一个区间是排列只需要区间和为len(len+1)2(len为区间长度),且互不相同,对于第一个问题我们用前缀和解决,对于第二个问题,预处理每个数的上次出现位置,记它为pre,互不相同即区间中pre的最大值小于左端点,使用线段树或Sparse Table即可在O(n)/O(nlogn)的...
分类:其他好文   时间:2015-02-15 18:12:15    阅读次数:161
poj 2104 静态主席树
我的第一道主席树(静态)。先记下自己对主席树的理解:主席树的作用是用于查询区间第k大的元素(初始化nlog(n),查询log(n))主席树=可持续线段树+前缀和思想主席树实际上是n棵线段树(由于是可持续化线段树,所以实际上是n个长度为log(n)的链),第i棵线段树保存的是a[1]~a[i]这i个数...
分类:其他好文   时间:2015-02-11 23:15:20    阅读次数:324
HDU 5172 GTY's gay friends (线段树)
题目地址:HDU 5172 比赛的时候用一个维护了区间和,区间积,区间最值的线段树水过去了。。赛后数据改回10^6后,就TLE了。。 正解是区间和用前缀和维护就可以。然后维护一个该位上的数上一个出现额位置,那么每次查询,如果每个数的上一个出现的位置都小于l的话,那么就说明没有重复的,如果区间和符合全排列的和,那么就说明肯定是一个全排列了。 代码如下: #include #include ...
分类:其他好文   时间:2015-02-11 16:37:51    阅读次数:150
HDU 5172 GTY's gay friends (预处理+线段树)
题目链接:HDU 5172 GTY's gay friends 题意:给出一串序列,询问[l,r]区间里是否存在1~l-r+1的一个排列。 思路:1~l-r+1的一个排列 等价于 [l,r]中元素互不相同且[l,r]区间和等于(1+len)*len/2(len=l-r+1)。 区间和可以用前缀和来处理。 元素互不相同,记录位置i上a[i]上次出现的位置记做pre[i],再用线段树来维护区间...
分类:其他好文   时间:2015-02-10 16:50:48    阅读次数:186
UVa 1451 (数形结合 单调栈) Average
题意:给出一个01串,选一个长度至少为L的连续子串,使得串中数字的平均值最大。分析:能把这道题想到用数形结合,用斜率表示平均值,我觉得这个想法太“天马行空”了首先预处理子串的前缀和sum,如果在坐标系中描出(i, sum[i])这些点的话。所求的平均值就是两点间的斜率了,具体来说,在连续子串[a, ...
分类:其他好文   时间:2015-02-08 11:35:15    阅读次数:315
CodeForces 191C Fools and Roads 树上的前缀和 LCA
题目链接:点击打开链接 题意: 给定n个点的树。 下面m个操作,每次给一条路径上的边都染一次。 最后问:每个边被染色的次数。 和去年网赛的一道差不多,就是类似前缀和的做法, 我们在某个点+1然后从叶子节点到根节点求一个前缀和,这样某个点加1就相当于某个点到根的路径都加了1. 所以当我们给[u,v]染色时就 sum[u]++; sum[v]++; sum[LCA(u,v)]-=2;...
分类:其他好文   时间:2015-02-07 21:41:38    阅读次数:254
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!