码迷,mamicode.com
首页 >  
搜索关键字:区间和    ( 658个结果
poj 2481 树状数组
求每个集合是其他多少个集合的真子集树状数组 + 离散化 依据左端点将线段变成点,单点更新,求区间和。#include #include #include #include using namespace std;struct node{ int l,r; int index;}nod[1...
分类:编程语言   时间:2015-08-06 12:44:10    阅读次数:107
位运算 - 异或求和
异或求和Problem's Link: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1254Mean:Description给你2个区间[A,B]和[C,D],现在只要求你求出区间[A,B]和[C,D]内任意2个整数异或后的和,因为答案可能会很大...
分类:其他好文   时间:2015-08-05 18:02:57    阅读次数:991
数据结构 树状数组
树状数组的作用是求区间和和做点更新。 和线段树相比,线段树和树状数组时间复杂度都是nlogn,但是在空间利用上,我们知道,线段树接近满二叉,需要的空间是4倍N,但是我们树状数组的空间和N相同,而且在代码上有明显的优势。 这里我们先看两幅图: 树状数组就是上面的C[],表示的是下面这些数的和。 这里我们可以看到,所有的奇数位置都会表示它本身,如1,3,5,7……它们只包含自己 所有的2的...
分类:编程语言   时间:2015-08-04 11:11:09    阅读次数:148
LA3938 "Ray, Pass me the dishes!" (线段树区间合并)
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22105 题意:给定整数n和m,给出一个n个元素的序列,查询m次给定区间[L,R]的最大连续和的位置[x,y],有多个区间输出x最小的,还有多个的话输出y最小的。 分析:每个节点存8个信息,最大连续和、最大后缀和、最大前缀和、区间和、前缀末位置、后缀首位置、最大连续和...
分类:其他好文   时间:2015-07-31 20:20:05    阅读次数:182
spoj 1716 Can you answer these queries III(线段树)
和I相比有了单点更新,所以不能只记录一个前缀和,而是要在线段树上多维护一个sum,表示这个结点的区间和,然后其他的就和I一样了。#include #include #include using namespace std;const int N = 50001;int a[N];struct Nod...
分类:其他好文   时间:2015-07-31 08:58:07    阅读次数:100
hdu5323(2015多校3)--Solve this interesting problem(万万没想到,,,)
题目链接:点击打开链接 题目大意: 按照题目给出的区间向根部搜,由子区间推到父区间,有四种可能(左右区间和(l+r)的奇偶性): [ l , 2*r-l ] [ l , 2*r+1-l ]  [ (l-1)*2-r , r ] [ (l-1)*2+1-r , r ] 按照这四种方式向上搜,加上剪枝就可以AC 原因是l/(r-l+1) 注意:剪枝的时候当前值>= n 就retur...
分类:其他好文   时间:2015-07-29 15:59:58    阅读次数:285
hdu 1698 线段树
因为最后要求的是区间和,所以其实color不用存下来,这里将color当做lazy标记:color为-1表示已经pushdown或为初始状态;color为1、2、3时表示区间为相应颜色。 1 #include 2 #include 3 #include 4 using namespace st...
分类:其他好文   时间:2015-07-29 15:38:36    阅读次数:97
[单调队列] hdu 3415 Max Sum of Max-K-sub-sequence
题意: 给n和k,再给你n个形成环的数 问你连续不超过k个数的最大和是多少 并输出区间,和一样以左端点最小,再一样以长度最小 思路: 我们记录前缀和sum[i] 开一个单调队列维护sum[i-1]的值最小 因为对于到当前位置的和为sum[i]-sum[j] 如果sum[j]越小,那么sum[i]就越大 所以里面维护的就是到当前位置符合要求最小的sun[j] 代码: #inclu...
分类:其他好文   时间:2015-07-27 15:03:50    阅读次数:113
Sequence operation
//0 a b 将[a,b]区间的所有数变为0 //1 a b 将[a,b]区间的所有数都变为1 //2 a b 将[a,b]区间的所有数0变1,1变0 //3 a b 问[a,b]区间的1的个数 //4 a b 问[a,b]区间最长的连续1的子段长度 //维护ma_l[2] , ma_r[2] , ma[2] ,sum[2]分别为区间左边,右边,最大的连续1和0,,区间1和0的个数 //lazy...
分类:其他好文   时间:2015-07-26 14:16:30    阅读次数:105
bzoj-3261 最大异或和
题意: 给出一个长度为n的初始序列,和m次操作; A操作:在序列后面加入一个数; Q操作:给出一段区间[l,r]和一个数x,求区间中的p使p的后缀异或和与x的异或值最大; n,m 题解: 可持久化数据结构(2/4)进行中... ... 先做一个转化,因为是在序列后面加数,维护后缀和并不容易; 但是由于异或性质可以转化成前缀和的问题; 也就是在区间中选一个数,使其与另一...
分类:其他好文   时间:2015-07-25 18:35:02    阅读次数:160
658条   上一页 1 ... 51 52 53 54 55 ... 66 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!