![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划-树形DP
QYQYQYQYQYQ
这个作者很懒,什么都没留下…
展开
-
[Luogu2014]选课 树形DP
Luogu2014 其实一眼就秒掉了这个树形dp,然后想了想转移,然而有些细节还是调了很久 首先整个图不一定是联通的,那么我们考虑把森林转化为树,即建立一个”源点“,然后把0向所有入度为0的点加边,就变成了一棵树。 我们又发现一个节点可能有多个儿子,不好处理,于是我们可以用一个惯用的方法——多叉树转二叉树,也可以叫左儿子右兄弟表示。顾名思义,新树节点的左儿子是原树的儿子,新树节点的右儿子是这个原创 2018-01-02 11:45:19 · 220 阅读 · 0 评论 -
[BZOJ2427] 软件安装 tarjan缩点+树形背包
这题显然是背包,然而我们发现连边后会存在强连通分量,而由于有奥妙重重的依赖关系,所以当我们选择强连通分量中某个点的时候,整个强连通分量都要选。所以我们缩点,用一虚拟源点向入度为0的点连边,跑树形背包就行了 #include #include #include #include #include #include #define maxn 120 #define maxm 510 using原创 2018-01-19 10:35:25 · 258 阅读 · 0 评论 -
贪心法求树的最小支配集,最小点覆盖,最大独立集
原文地址(转自 Ashly的博客) 定义: 最小支配集:对于图G = (V, E) 来说,最小支配集指的是从 V 中取尽量少的点组成一个集合, 使得 V 中剩余的点都与取出来的点有边相连.也就是说,设 V’ 是图的一个支配集,则对于图中的任意一个顶点 u ,要么属于集合 V’, 要么与 V’ 中的顶点相邻. 在 V’ 中除去任何元素后 V’ 不再是支配集, 则支配集 V’ 是极小支配集.称G 的...转载 2018-02-08 14:46:36 · 261 阅读 · 0 评论 -
[JXOI2018模拟] way 树形dp+启发式合并
题目大意:给n个点的有根树,每个点有个权值和大小,q个询问,每个询问为x,s,意为在x子树中,选出大小之和不超过s的点,其中最大权值和是多少。 考场上写个暴力,考后顺便就学了启发式合并。 启发式合并也就是一种思想,即把小的合并到大的上去,可以优化时间复杂度。 每次直接把重儿子的dp数组赋给该点,然后再对轻儿子进行背包 #include<bits/stdc++.h> #def...原创 2018-03-14 09:20:39 · 284 阅读 · 0 评论