码迷,mamicode.com
首页 >  
搜索关键字:区间修改    ( 529个结果
浅谈树状数组
还是区间求和区间修改的问题,我们使用线段树解决以后发现编程复杂度比较大 在这里介绍一个简单的数据结构,树状数组。 树状数组的优势是编程复杂度小,常数小,时间复杂度也不错 树状数组的查询,修改,都是LOG(N)级别的 下面来分析一下上面那个图看能得出什么规律: 据图可知:c1=a1,...
分类:编程语言   时间:2014-11-01 20:31:27    阅读次数:229
Color the ball 树状数组的区间修改
树状数组的区间修改...
分类:编程语言   时间:2014-10-17 21:57:22    阅读次数:308
POJ 2991 Crane(线段树+计算几何)
POJ 2991 Crane 题目链接 题意:给定一个垂直的挖掘机臂,有n段,现在每次操作可以旋转一个位置,把[s, s + 1]专程a度,每次旋转后要输出第n个位置的坐标 思路:线段树,把每一段当成一个向量,这样每一段的坐标就等于前几段的坐标和,然后每次旋转的时候,相当于把当前到最后位置全部加上一个角度,这样就需要区间修改了,然后每次还需要查询s,和s + 1当前的角度,所以需...
分类:其他好文   时间:2014-10-13 14:49:39    阅读次数:272
UVA 12436 - Rip Van Winkle's Code(线段树)
UVA 12436 - Rip Van Winkle's Code 题目链接 题意:区间修改一个添加等差数列,一个把区间设为某个值,然后询问区间和 思路:关键在于等差数列的地方,线段树的每个结点添加一个首项和公差,由于等差数列加上一个等差数列还是一个等差数列,利用这个性质就可以进行维护了,注意set操作会覆盖掉等差数列的操作 代码: #include #includ...
分类:Windows程序   时间:2014-10-10 19:00:24    阅读次数:332
BZOJ 3211 花神游历各国 树状数组+并查集
题目大意:给定一个序列,提供下列操作: 1.将[l.r]区间内每个数a[i]变为sqrt(a[i]) 2.查询[l,r]区间的和 根号是不支持区间修改的,于是我们选择单点修改区间查询的树状数组,但是这样是O(n^2)的,怎么办? 我们发现一个数x最多开loglogx次根号就会变为1 也就是一个int范围内的数只要开5次根号就会变为1 于是修改的总时间复杂度为O(nloglogn) 但是单...
分类:编程语言   时间:2014-10-10 16:03:44    阅读次数:217
UVA1232 - SKYLINE(线段树区间修改)
UVA1232 - SKYLINE(线段树区间修改) 题目链接 题目大意:按照顺序盖楼,如果这个位置(当前要盖的楼覆盖范围内)要新建的楼的高度>=之前就有的最大高度,那么就+1.最后输出这个+1的总数。 解题思路:线段树区间修改值,并且每次修改的时候返回修改的位置总数。因为可能左右子树的高度会有不同,所以这里加入一个sign来表示左右这一段是否高度一致。 代码: #inc...
分类:其他好文   时间:2014-10-09 16:30:48    阅读次数:279
POJ 2155 Matrix 二维树状数组
题目大意:有一个全零的矩阵,有两个操作。 1.修改(x1,y1)到(x2,y2)的数,使它们取异或。 2.查询(x,y)的状态。 思路:二维树状数组,区间修改,单点查询。 CODE: #include #include #include #include #define MAX 1010 using namespace std; int cases; i...
分类:其他好文   时间:2014-10-07 16:29:53    阅读次数:164
UVA11992 - Fast Matrix Operations ( 线段树 + 区间修改 + 好题 )
UVA11992 - Fast Matrix Operations ( 线段树 + 区间修改 + 好题 )这是大白书上的例题,一直放着没有去A掉,这是一道线段树区间修改的好题。线段树中需要维护三个域 ,max, min, sum,也就是区间最大值,最小值,区间和题目大意:r 行 c 列 的全0矩阵,...
分类:其他好文   时间:2014-10-05 15:31:38    阅读次数:192
hdu 1828 Picture(线段树)
题目链接:hdu 1828 Picture 题目大意:N个矩形,求矩形周长的并。 解题思路:利用到线段数区间合并,记录有多少个连续块,还用到区间修改,每次对于一条边,除了要计算竖直方向,还要计算水平方向,而水平方向是修改后的增减量。 #include #include #include #include #include using namespace std; con...
分类:其他好文   时间:2014-10-03 12:44:14    阅读次数:197
UVA11992 - Fast Matrix Operations(线段树区间修改)
UVA11992 - Fast Matrix Operations(线段树区间修改) 题目链接 题目大意:给你个r*c的矩阵,初始化为0。 然后给你三种操作: 1 x1, y1, x2, y2, v 把由x1,y1, x2, y2构成的子矩阵里的每个元素都加上v。 2 x1, y1, x2, y2, v 把这个子矩阵的每个元素都修改为v。 3 x1, y1, x2, y2 查询...
分类:其他好文   时间:2014-10-02 14:51:43    阅读次数:244
529条   上一页 1 ... 48 49 50 51 52 53 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!