
线段树
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
bzoj 3249 [ioi2013]game(线段树)(伸展树)
题目Bazza 和 Shazza 正在玩游戏。游戏在一个 R 行 C 列的网格上进行。其中, R 行 编号为 0, …, R - 1 , C 列编号为 0, …, C - 1 。我们用 (P, Q) 表示位于 P 行 Q 列的单 元格。每个单元格包含一个非负整数,游戏开始时所有单元格内的整数均为零。 游戏如下进行:任意时刻,Bazza 可以做如下动作之一: 修改一个单元格 (p, q)...原创 2018-10-19 13:37:10 · 432 阅读 · 0 评论 -
poj2374 Fence Obstacle Course(DP)(线段树)
题目poj2374 Fence Obstacle Course题解线段树优化DP设f[i][0/1]表示在通过第i条栅栏后,处于栅栏左边/右边的最小路径长。因为奶牛是直线下来的,所以最优方案当然是从上一个栅栏的这个位置下来。由于有栅栏的影响,奶牛们不能顺利的下来,此时到达这个位置的最优策略要么是从前面那个栅栏的左端点过来,要么从右端点过来。所以有,。其中的j就是上一个挡住了这个位...原创 2018-10-03 16:46:49 · 417 阅读 · 0 评论 -
洛谷3178 [HAOI2015]树上操作(树上树状数组-改段求段)(线段树)
题目有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 题解1树链剖分裸啊!对于子树操作,最合适的结构就是dfs序了,恰好树链剖分就是带重边的dfs序。接下来自己yy吧。...原创 2018-09-04 16:12:14 · 312 阅读 · 0 评论 -
最短路算法集合
一、Dijkstra算法:仅限用于无边权为负数的图,更不能正确处理负环的情况。把所有点分成两个集合,S集合是存已经确定下来、不会再更改(准确一点的话是“不能再更改”)的点,T集合是待确定的点集。从T集合中的点中,选择一个到st最近的点x。让这个点为其它点更新:如果y点到st的距离大于 x点到st的距离 + x->y这条边的距离,则改进y到st的值。然后x加入S集合。更透彻地理解,这种算法每次...原创 2018-02-13 11:36:09 · 490 阅读 · 0 评论 -
瓜瓜的时空旅行
题目描述西瓜们生活在编号 1···n 的 n个平行时空中,2n−2 台时光机将这些平行时空联系在一起。一台时光机有 3个整数参数 u,v,t 表示从时空 u 可以花费 t 的时间穿梭到时空 v。为了确保时空之间可以相互穿梭,同时方便作为现世的 1号时空的通行,西瓜们将这些时光机进行分工:前 n−1 台时光机确保从 1号时空可以直接 / 间接抵达任意时空,后 n−1台时光机负责从 2···n号时空直...原创 2018-04-25 14:38:35 · 255 阅读 · 0 评论 -
线段树—初始化与更改、查询
线段树初始化、更改、查询的介绍。例题:hdu 1754。原创 2017-01-13 17:41:09 · 996 阅读 · 0 评论 -
线段树—update延缓赋值优化
线段树优化一:update优化,可以大大减少时间。例题:poj 2777 Count Color。原创 2017-01-13 17:43:34 · 425 阅读 · 0 评论 -
线段树—倒推优化
涂色问题有一个特点:后面的往往会覆盖前面的。所以如果我们顺推的话,更改次数会很多;如果考虑倒推,那么每个点只需要更改一次,即总更改次数为n。例题:(pku 2528)【题目描述】有L(L没有给出)段线段(编号为1~L) 1~1000 0000(数组无法定义几千万,所以要用离散化),有 M次操作(1 ),每次操作都是给出l和r,第i次操作的意义就是:把第l段到第r段的线段染色为颜色i原创 2017-01-19 16:27:30 · 503 阅读 · 0 评论 -
线段树—离散化压缩空间优化
应用离散化缩小线段树的空间。例题:poj 2528 Mayor's posters。原创 2017-01-15 10:09:50 · 1161 阅读 · 0 评论 -
线段树—永久化标记优化
标记永久化介绍诞生正常的线段树的改段求段都离不开lazy标记,lazy标记维护时要及时的更新,即人们熟知的pushdown函数。那么能不能避免这么多次无意义的pushdown操作呢?他就是——标记永久化。原理举个最简单的例子,线段树区间修改,求区间最大值。这时的lazy存的是当前这一段待下传的最大值,也就是说这个lazy最终会更新到这个线段的所有子线段。既然是他们共有的一个最大...原创 2018-10-26 21:40:53 · 1818 阅读 · 0 评论