树形结构-树上启发式合并
QYQYQYQYQYQ
这个作者很懒,什么都没留下…
展开
-
[CF600E] Lomsat gelral 树上启发式合并
树上启发式合并qwq,一听就是很高级的算法,其实也不难。 这个算法主要也只能应用于: 子树统计 无修改操作 算法实现过程 首先进行轻重链剖分,和树剖不同的是,我们每次先dfs轻儿子,暴力统计答案大小,并且暴力删除轻儿子产生的影响。最后dfs重儿子,就是为了保留下重儿子的影响。 那时间复杂度为什么是对的呢? 只有dfs到轻边时,才会将轻边的子树中合并到上一级的重链,树链剖分...原创 2018-03-14 07:50:06 · 277 阅读 · 0 评论 -
[JXOI2018模拟] way 树形dp+启发式合并
题目大意:给n个点的有根树,每个点有个权值和大小,q个询问,每个询问为x,s,意为在x子树中,选出大小之和不超过s的点,其中最大权值和是多少。 考场上写个暴力,考后顺便就学了启发式合并。 启发式合并也就是一种思想,即把小的合并到大的上去,可以优化时间复杂度。 每次直接把重儿子的dp数组赋给该点,然后再对轻儿子进行背包 #include<bits/stdc++.h> #def...原创 2018-03-14 09:20:39 · 270 阅读 · 0 评论