![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
twh233
嘻嘻
展开
-
树链剖分小结板子
题目链接:树的统计Count 树链剖分(权值在点上)[单点修改 询问区间和/最大值]: int a[30005]; struct node { int tl,tr,maxx,sum; node():maxx(0),sum(0) {} } tree[120020]; void pushup(int id) { tree[id].sum=tree[id1].sum+tr原创 2017-07-28 13:49:17 · 263 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) E. Danil and a Part-time Job DFS序+树链剖分+线段树区间^
传送门 题意: 给你一棵根为1的树, 每个点的权值是0或1, get x表示求x子树的1的个数, pow x表示把x的子树1变0, 0变1 /// .-~~~~~~~~~-._ _.-~~~~~~~~~-. /// __.' ~. .~ `._原创 2017-10-26 15:25:37 · 416 阅读 · 0 评论 -
Query on a tree 树剖第一题
题目链接 题意: 给你一颗树,现在有两个操作,一种是改变某条边的权值,一种是查询点u到v之间的路径的最大边权。 直接抄fold的模版(逃 /// .-~~~~~~~~~-._ _.-~~~~~~~~~-. /// __.' ~. .~ `.__ /// ...原创 2018-10-11 00:05:52 · 151 阅读 · 0 评论 -
P3384 【模板】树链剖分 洛谷
题目链接 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上z 操作4: 格式: 4 x 表示求以x为根节点的子树...原创 2018-10-11 00:16:49 · 111 阅读 · 0 评论 -
Count on a tree 树上 (u,v)的路上的第K小的权值(主席树+树剖lca
题目链接 题目大意: 就是求在树上 (u,v)的路上的第K小的权值 解题思路: 首先对于求第K小的问题 我们可以用主席树搞 ,没有问题, 但是对于一个树形结构,我们需要将其转化为线性,然后需要树剖才能做. 然后考虑链上的第k值怎么维护 , 发现如果树剖计算的话 维护不了啊 因为(u,v)的路 可能在很多个链上,那么不能对每个求第K值,这样明显是错误的啊, 然后我们知道主席树其实就...原创 2018-10-28 13:51:51 · 340 阅读 · 0 评论