![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
文章平均质量分 83
lifajun90
这个作者很懒,什么都没留下…
展开
-
sicily 1800 Sequence【线段树-RMQ】
题目链接:http://soj.me/1800 题目大意:给出一个序列a1, a2, a3,……an,求它的一个子序列使的这个子序列的和最小,并且这个子序列的长度只能在L和U之间。 对于这类子序列求和问题问法真是太多了,如果子序列长度没有上下界的话可以用动态规划来做,不过有上下界的时候,貌似没有想到动态规划的算法。 本题的思路大致如下: 首先求的整个序列的前缀和数组preSum[], 那么原创 2012-11-17 19:02:26 · 682 阅读 · 0 评论 -
sicily 1136 山海经【线段树】
题目链接:http://soj.me/1136 题目的问题是频繁的区间查询,对于频繁的区间查询问题,很明显不能暴力地每次遍历了,一般需要经过预处理然后通过二分或者线段树的方式来查找(其实都是二分的思想)。 线段树的典型用法是频繁的更新一段区间,查询一段区间,每次都是O(lgN)的复杂度,那么总体复杂度就是O(NlgN)。 本题的应用场景虽然没有频繁的更新区间,不过也适合线段树的使用场景(一般原创 2012-11-16 13:12:33 · 1240 阅读 · 0 评论 -
POJ 3667 Hotel(线段树)
题目链接:http://poj.org/problem?id=3667 题目要求的是查询一段区间,更新一段区间,这是线段树最擅长的事了! 该题有两个主要操作,订房和退房,其实可以把订房分解为两个操作,查询(query)和更新(update),而退房就是更新(update)。 本题最难的地方在于节点状态的设计,它需要有三个额外的域:lval(记录该节点从左边开始的连续未原创 2012-10-13 00:13:00 · 583 阅读 · 0 评论 -
poj 2828 Buy Tickets【线段树】
题目链接:http://poj.org/problem?id=2828 题目大意:最初有一个序列,现在新来一个数,它要插入到原来的序列的第i个数的右边,如此操作N次,问最后的序列是什么样的。 这个题打死都想不到要用线段树啊,结果一看disscuss,都是用线段树解的。 这个题如果要按照题目的意思来模拟插入肯定是没办法解的,如果反过来想就有点意思了,比如有两个连续的插入都是插入到第二个位置的右原创 2012-11-16 17:38:44 · 550 阅读 · 0 评论