码迷,mamicode.com
首页 >  
搜索关键字:区间更新    ( 527个结果
hdu1698Just a Hook
线段树区间更新  菜鸟之伤 __int64!!!! #include #include #include using namespace std; const int maxn = 100050; struct Tree{     int l, r, setv, sum; }tree[maxn int n; __int64 sumn; void...
分类:其他好文   时间:2015-08-21 17:11:11    阅读次数:132
Codeforces 35E(区间更新)
题意:要建n个高楼,给出了每个高楼的左右区间和高度,问最后所有的高楼的轮廓包括了哪些点。 题解:这题好坑,用了n种姿势了还是一直wa,后来才直到必须加输入输出文件那句话才能过。。。用线段树存维护区间内最大值也就是高度,左右区间到1e9所以要离散化。因为维护的是每一段的最大值而不是点,所以划分左右子区间那里要把mid到mid+1也归到右子区间里。#include #include...
分类:其他好文   时间:2015-08-21 13:34:32    阅读次数:116
Codeforces 35E(区间更新)
题意:要建n个高楼,给出了每个高楼的左右区间和高度,问最后所有的高楼的轮廓包括了哪些点。 题解:这题好坑,用了n种姿势了还是一直wa,后来才直到必须加输入输出文件那句话才能过。。。用线段树存维护区间内最大值也就是高度,左右区间到1e9所以要离散化。因为维护的是每一段的最大值而不是点,所以划分左右子区间那里要把mid到mid+1也归到右子区间里。#include #include...
分类:其他好文   时间:2015-08-21 13:32:27    阅读次数:125
HDU 5023 A Corrupt Mayor's Performance Art 线段树区间更新+状态压缩
Link: http://acm.hdu.edu.cn/showproblem.php?pid=5023 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 usi...
分类:其他好文   时间:2015-08-21 00:01:43    阅读次数:334
uva 12436(区间更新)
题意:有n个操作,操作种类有A a b表示把区间[a,b]的值依次加1 2 … b-a+1,操作B a b表示把区间[a,b]的值依次加b-a+1… 2 1,操作C a b x表示把区间[a,b]的值全部替换为x,操作S a b要求输出区间[a,b]里的所有数字的和。 题解:A和B操作都是把区间内加上一个等差数列,所以要用线段树维护每个区间所要加的等差数列的首项还有公差,注意操作C里的x还可以取负...
分类:其他好文   时间:2015-08-20 20:57:57    阅读次数:159
uestc 94(区间更新)
题意:有一个字符串全部由’(‘和’)’组成,然后有三种操作,query a b输出区间[a,b]字符串的括号序列是否合法,reverse a b把区间[a,b]字符串里所有’(‘替换成’)’,并且把所有’)’替换为’(‘,set a b c,把区间[a,b]的所有字符替换为c。 题解:明显是线段树,为了可以让线段树维护,判断一个字符串是否为合法括号,可以把所有的’(‘替换为-1,’)’替换为1,那...
分类:其他好文   时间:2015-08-20 06:49:03    阅读次数:111
Codeforces 138C(区间更新+离散化)
题意:有n棵树在水平线上,给出每棵树的坐标和高度,然后向左倒的概率和向右倒的概率,和为1,然后给出了m个蘑菇的位置,每个蘑菇都有一个魔法值,如果蘑菇被压死了,也就是在某棵树[a[i] - h[i], a[i]) 或 (a[i], a[i] + h[i]]范围内,魔法值就没有了,只有生存下来的蘑菇才有魔法值,问生存下来的蘑菇的魔法值的期望。 题解:可以看到n和m的范围是1e5,而坐标范围是1e9,所...
分类:其他好文   时间:2015-08-17 19:36:44    阅读次数:129
HDU 1556 给连续个球涂色-线段树-(区间更新,单点查询)
题意:有n个球,1~n,n个操作:(a,b),意思是把区间[a,b]里的球都涂一遍色,n次操作后,问每个球分别被涂了多少次。 分析: 区间更新,单点查询。一般区间更新都要用lazy[rt],不然对线段树的更新操作就退化为了暴力更新,会超时。 代码: #include #include #include using namespace std; const int maxn=100000; ...
分类:其他好文   时间:2015-08-17 19:32:31    阅读次数:141
线段树专题—ZOJ1610 Count the Colors
题意:给一个n,代表n次操作,接下来每次操作表示把[l,r]区间的线段涂成k的颜色其中,l,r,k的范围都是0到8000 分析:其实就是拿线段树维护一段区间的颜色,总体用到的是线段树的区间更新把,但是会给人一种区间合并的错觉 注意:这题比较坑的是千万不能拿n建树,不然就会segmentation fault,必须拿8000建树,也就是树是固定的 代码: #inclu...
分类:其他好文   时间:2015-08-17 17:26:14    阅读次数:137
HDU 1698 Dota钩子问题-线段树-(区间替换,查询总和)
题意:一段挂钩分成n段,每一段可以由铜、银、金做成,对应的价值分别是1,2,3,现在有m个操作(a,b,x)意思是改变区间[a,b]段的钩子为材质x,问m个操作之后这段挂钩的价值总和。挂钩的每一段初始为铜,也就是1。 分析: 区间更新,单点查询。确切的说是区间替换,询问总区间总和。线段树的典型应用之一。因为是区间更新,所以用 lazy[rt] 数组记录当前子树是否曾经更新过,lazy[rt]!...
分类:其他好文   时间:2015-08-17 06:34:25    阅读次数:132
527条   上一页 1 ... 28 29 30 31 32 ... 53 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!