线段树
文章平均质量分 73
ACMega
精通C/C Java 要饭
展开
-
POJ2777 - Count Color
第一次看的时候果断跳了,现在写起来发现跳的决定是对的。此题很卡时间,开始建树到叶子果断超时了,后来问了别人改成只对根节点染色才过。后来加上位运算优化才400MS,感觉这种线段树的写法还是很容易挂。/****************************************************/#include #include #include #include #原创 2013-08-11 21:14:02 · 307 阅读 · 0 评论 -
HDU3954 - Level up
线段树 lazy标记 因为k很小所以我们可以维护k个等级下的最大经验原创 2014-07-30 00:02:26 · 283 阅读 · 0 评论 -
LA3938 - "Ray, Pass me the dishes!" (TODO)
线段树,后面下标处理有点乱,有空再修改;#include #include #include #include #define MAXN 500010#define INF (~0U >> 2)using std::max;using std::cout;using std::endl;typedef long long LL;#define Lson l, mid,原创 2013-10-27 10:04:27 · 275 阅读 · 0 评论 -
POJ3225 - Help with Intervals
U:把区间[l,r]覆盖成1I:把[-∞,l)(r,∞]覆盖成0D:把区间[l,r]覆盖成0C:把[-∞,l)(r,∞]覆盖成0 , 且[l,r]区间0/1互换S:[l,r]区间0/1互换这是一个关键的提示,然后把区间扩大并线段树维护0或1,这题好复杂。/****************************************************原创 2013-08-12 16:50:41 · 290 阅读 · 0 评论 -
HDU1166 - 敌兵布阵
应该是最水的线段树了吧,只是区间查询和点修改,不过是第一道线段树的题,熟悉一下敲法。/****************************************************/#include #include #include #include #include #include #include #include #include #include #原创 2013-08-02 03:21:56 · 303 阅读 · 0 评论 -
HDU1754 - I Hate It
线段树修改点求区间最大值,还是水题,因为输入问题TLE了一次。继续熟悉敲法。/****************************************************/#include #include #include #include #include #include #include #include #include #include #原创 2013-08-02 04:03:34 · 359 阅读 · 0 评论 -
HDU1394 - Minimum Inversion Number
暴力可以过,算初始逆序数的时候可以用线段树优化。通过递推关系可以求得各序列的逆序数。/****************************************************/#include #include #include #include #include #include #include #include #include #includ原创 2013-08-02 05:29:48 · 296 阅读 · 0 评论 -
HDU2795 - Billboard
线段树维护最大值,结点保存区间高度能容纳最大宽度。/****************************************************/#include #include #include #include #include #include #include #include #include #include #include #def原创 2013-08-10 12:01:04 · 322 阅读 · 0 评论 -
POJ2828 - Buy Tickets
插入队列进行逆向操作,pos代表的也就是放入此人时前面应有pos个空位,用线段树维护空位数量。/****************************************************/#include #include #include #include #include #include #include #include #include #i原创 2013-08-10 13:59:32 · 284 阅读 · 0 评论 -
POJ2886 - Who Gets the Most Candies?
首先需要简化问题,变成循环到第k次时,k是 [1 , n] 内约数个数最多的数字,所以输出第k次是谁jump out 这个队列就可以了。对于约数个数最多这个问题,要用到反素数,打表直接粘贴的别人的。/****************************************************/#include #include #include #include原创 2013-08-10 17:53:36 · 293 阅读 · 0 评论 -
HDU1698 - Just a Hook
看见网上说的延迟标记,lazy标记开始有点怵头。在纸上模拟一下发现只是在区间改值之后先不急于向下更新,当访问到该结点的时候再进行更新,很巧妙的方法。/****************************************************/#include #include #include #include #include #include #incl原创 2013-08-11 14:14:53 · 297 阅读 · 0 评论 -
POJ3468 - A Simple Problem with Integers
push_down的时候改值变成赋值了,坑了。一道区间改值,区间求和的标准题。/****************************************************/#include #include #include #include #include #include #include #include #include #include原创 2013-08-11 14:39:33 · 265 阅读 · 0 评论 -
POJ2528 - Mayor's posters
区间覆盖问题,首先要将宽度进行离散化,也就是就行合并去重二分查找左右边界。借鉴别人的方法。/****************************************************/#include #include #include #include #include #include #include #include #include #inc原创 2013-08-11 18:46:34 · 273 阅读 · 0 评论 -
2014 Multi-University Training Contest 3 - HDU4893 - Wow! Such Sequence!
距离上一次写线段树有一年了,比赛一遇到原创 2014-07-29 19:52:00 · 241 阅读 · 0 评论