线段树合并
lahlah_
沉浸 尊重
展开
-
luogu P4556 [Vani有约会]雨天的尾巴
luogu P4556 [Vani有约会]雨天的尾巴 题意 给定一棵树,还有若干操作 每次操作是将树上的一条路径上的每个点加上一个颜色 然后询问每个点上出现最多的颜色是哪个? 题解 sb题 直接差分完后线段树合并即可 假设一条路径 u ———》 v 就是在u, v那里分别加1 lca, fa[lca]那里分别减1 然后就没了 code: #include<bits/stdc++.h>...原创 2019-11-06 16:52:16 · 203 阅读 · 0 评论 -
luogu P4197 Peaks
luogu P4197 Peaks 题目大意很清楚了,就不解释了 第一眼kruskal重构树 + 主席树毒瘤码农题 然后发现貌似可以离线 然后就可以愉快地线段树合并 + 并查集了 具体思路就是 先把所有的边按照边权排序,然后再把询问按照x排序(从小到大) 然后对于每个点维护一个动态开点线段树 询问时 如果当前边边权小于x就把u,v对应的线段树合并一下(用并查集维护连通性) 然后就很愉快了 code...原创 2019-09-05 20:03:37 · 182 阅读 · 0 评论 -
luogu P5298 [PKUWC2018]Minimax
luogu P5298 [PKUWC2018]Minimax 题目大意 不可描述 比较清楚就不讲了 题解 首先注意到题目中的这样一句话 保证这类点中每个结点的权值互不相同 显然线段树合并QWQ 考虑如何合并 先考虑只有一边有节点的情况 然后直接把贡献乘在那个子树上(tag) 假设把 以 x 和 y为根的两颗线段树合并 那发现如果 x, y都不为0就直接先往下做然后再 把概率加起来就行了 还是看代码...原创 2019-09-28 10:40:51 · 212 阅读 · 0 评论