树状数组 + 线段树

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kidsummer/article/details/82106701

线段树

单点更新,单点查询。单点更新,区间查询。区间修改,区间查询。线段树的基本操作。

  •     POJ 3468 A Simple Problem with Integers  区间修改区间查询。

查询是否有一段连续的区间没有被覆盖,优先找左边的。+ 区间修改。

  •    POJ - 3667  Hotel

线段树区间修改,区间亦或,区间求和,区间查询被覆盖的最长长度。综合题。

  • HDU - 3397 Sequence operation

单点修改,查询包含某个点的被覆盖的长度。

  • HDU - 1540 Tunnel Warfare 

求区间内颜色的种类数。颜色的总种类很少,区间修改,区间查询。

  •     POJ - 2777 Count Color

求区间颜色的种类数,颜色的总种类很多,区间也很大,但是只有一次查询。数据大,需要离散化,离散化的时候要注意了,有可能把原来有颜色的区间离散掉。 但是原题没有考虑这么多。

   POJ - 2528 Mayor's posters

扫描线,求面积。

线段树+DP,线段树维护区间最小值。

  • Gym - 100712L Alternating Strings II 

给出一个长度为n的序列,把其分成k段连续的子段使得这k段每段中不同数字的个数之和最大 ,线段树优化DP;

  • Codeforces 834D The Bakery

线段树+dfs序。一般dfs 序之后,线段树维护的区间最大值就是当前节点及其子孩子到根节点的最长距离。

此题求一棵树上,从根节点开始,必须经过某一个点,能走的最大距离。每个点上的权值可以修改。

  • HDU snacks 

两个操作,一个是区间升序操作,一个是区间降序操作,去整个区间内第k 个数是多少。

二分+线段树。

  • HDU - 5649 DZY Loves Sorting

从00点看楼房,最多能看到多少个楼房,楼房可以修改。问每次修改之后,最多能看到多少。

  • bzoj 2957 楼房重建

 

猜你喜欢

转载自blog.csdn.net/kidsummer/article/details/82106701
今日推荐