• 【给自己的小练习2-线段树】


    https://vjudge.net/contest/161102

    HDU - 2795

    题意:模拟一个过程,有n行,每行初始长m,每次选择最靠前的长度超过ai的行减去ai,输出每次选中哪些行。

    线段树维护区间最大值,然后再线段树上二分找第一个长度超过ai的点,单点修改。

    POJ - 2828

    题意:每次在第ai后加入一个数bi,求最终的数组状态

    维护序列的题,显然可以用splay,然后这题会卡splay,所以用线段树模拟这个过程,首先,如果是倒序处理的,那在第ai插入相当于在当前第ai个空插入,所以还是在线段树上二分找这个空。

    HDU - 1698

    区间修改

    打lazy

    POJ - 3468

    区间修改区间查询

    POJ - 2528

    题意:按照顺序给n个区间,问可以看到几个区间

    这题我当时不会,现在再回想还是不会……

    然而居然……就是在做完线段树后,遍历一遍线段树!然后就可以统计了!所以对于线段树,并不是所有算法都是在线哒,处理好再遍历一遍这种想法要记住啊!

    POJ - 3667

    支持两种操作:1)找一个连续的大于k的区间,并占用它。2)释放掉一个指定区间。

    线段树维护区间连续性,打lazy,记录lmax,rmax,mmax,依然是线段树上二分找这个区间

    HDU - 1828

    矩形周长并。

    写法就是每次加入或减少一条线段的时候记录一下改变量,不过要记住就是先+线段再减线段。

  • 相关阅读:
    ZOJ2913Bus Pass(BFS+set)
    HDU1242 Rescue(BFS+优先队列)
    转(havel 算法)
    ZOJ3761(并查集+树的遍历)
    ZOJ3578(Matrix)
    HDU1505
    ZOJ3574(归并排序求逆数对)
    VUE-脚手架搭建
    VUE脚手架搭建
    VUE-node.js
  • 原文地址:https://www.cnblogs.com/Macaulish/p/6896098.html
Copyright © 2020-2023  润新知