"题目" "传送门" Description 给定一棵有根树,可以用$w_x$的代价控制$x$点,控制后可以给该点子树里的叶子同时加上一个数。求最小代价,使得叶子上为任何不同的数,你都可以把它们变为$0$。$n\leq10^5$ Solution 首先将叶子结点按照$dfs$序排序,为一个序列。 控 ...
分类:
其他好文 时间:
2019-04-09 00:47:21
阅读次数:
163
interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一个点就必须把它到根节点的所有的点都选上 考虑如何转移这个背包,发现一个点要么转移到$dfs$序比它大 ...
分类:
其他好文 时间:
2019-04-08 10:38:01
阅读次数:
180
"题目链接" 题意分析 带修改树链第$k$大 首先我们使用树链剖分将树上问题转化为区间问题 然后对于当前修改 我们直接修改即可 对于链上第$k$大 我们先求一个总点数 转化为链上第$k$小 然后我们将$x$到$y$之间所有的重链都提出来 那么在$dfs$序上就是一堆连续区间 而且最多$log$个 类 ...
分类:
其他好文 时间:
2019-04-03 19:25:40
阅读次数:
168
数据结构 去log技巧 可持久化 离线(CDQ分治/整体二分) 偏序转化技巧 记录上一次出现位置 维护值域 树上DFS序 ...
分类:
其他好文 时间:
2019-03-19 16:36:51
阅读次数:
144
边的分类 有向图边分为四类: 树边, 前向边, 返祖边(后向边), 横叉边. 上图: 判定 有向图 对图进行dfs, 不考虑已经遍历过的点, 得到dfs序 $dfn_i$. 在dfs过程中, 记录当前dfs栈. 对于边$(u,v)$, 树边: $vis_v==0$; 前向边: $vis_v==1$ ...
分类:
移动开发 时间:
2019-03-17 21:23:40
阅读次数:
257
树链剖分,顾名思义就是将树形的结构剖分成链,我们以此便于在链上操作 首先我们需要明白在树链剖分中的一些概念 重儿子:某节点所有儿子中子树最多的儿子 重链:有重儿子构成的链 dfs序:按重儿子优先遍历时的顺序 轻儿子的意思就与重儿子相反 首先是第一个dfs操作 在本次操作中,我们主要做的是处理所有节点 ...
分类:
其他好文 时间:
2019-03-16 09:31:22
阅读次数:
155
这两个题差不多先说异象石把 主要是找到本题规律,将所加入的点按dfs序排序,记录为a[1],a[2]..a[n]则当前的答案为每个点与前一个点的距离(第一个点则与最后一点) 当然要动态维护答案,每加入一个点就+与前驱的距离+与后驱的距离-前驱与后驱的距离(删点的话ans减去这个值就好 不过异象石最后 ...
分类:
其他好文 时间:
2019-03-08 17:02:44
阅读次数:
233
树的dfs序指从根节点进行dfs(先序遍历),每次到达某个点的时间和离开这个点的时间.它可以将树上的问题转换成序列问题进行处理. 比如对于p1539的样例可以这样解释. 每个点的左边数字表示进入该点的"时间",右边的数字表示离开该点的"时间".对dfs序的介绍就到这里. 然后来看一个例题: 先读入边 ...
分类:
其他好文 时间:
2019-02-24 10:22:22
阅读次数:
221
半年前的内容,2月12日前来考古。 这里枚举了树的DFS序来解决树上问题的多个板子,自己最好多看看。 ↓改↓↓求↓ 点 点 ————————>>>这个就算了 点 树 简单, BIT 点 链 重点! 树 树 简单, 线段树 树 链 重重点!!! 树 点 简单, BIT+差分 链 树 重重点!!! 链 ...
分类:
其他好文 时间:
2019-02-12 23:15:09
阅读次数:
291
传送门 题目大意 给出一棵无根树,每个节点有一个权值,现在要让dfs序的前k个结点的最小值最大,求出这个值。分析 首先可以对这个值v进行二分然后01分数规划现在问题转化为求出一个dfs序,使得dfs序中的至少有k个1,这一步可以用树形dp来做。用dp[u]表示从节点u开始在子树中进行dfs最多可以经 ...
分类:
其他好文 时间:
2019-02-11 12:21:46
阅读次数:
158