一眼题... f[i][0]表示在i连接一个子树的最小值,f[i][1]表示在i连接两个子树的最小值,随便转移... 样例挺强的1A了美滋滋... #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #inc ...
分类:
其他好文 时间:
2017-12-08 23:05:41
阅读次数:
173
题目描述 输入 输出 样例输入 1 7 1 2 2 3 2 4 4 6 5 6 6 7 样例输出 3 题解 树形dp 设f[x]表示以x为根的子树完成路径覆盖,且x为某条路径的一端(可以向上延伸)的最小路径数,g[x]表示以x为根的子树完成路径覆盖,且x不为某条路径的一端的最小路径数。 那么考虑点x ...
分类:
其他好文 时间:
2017-06-18 10:43:41
阅读次数:
166
题目大意:给定一棵树,求最小路径覆盖
数据范围1W,看到还想跑网络流来着= = 不过算了明明树形DP这么水还是不要用网络流这种大杀器为好
首先将所有的链都考虑成以链上所有点的LCA为转折点的V字形
那么点有两种:转折点和非转折点
因此我们选择两种状态进行转移:还会和父亲组成链的状态和成为转折点的状态
转移就自己YY算了
时间复杂度是线性的
#include
#include
#i...
分类:
其他好文 时间:
2015-02-24 09:08:46
阅读次数:
169
ydc题解上写着贪心,后来又说是树形dp。。。可惜看不懂(顺便骗三连)其实就是每个叶子开始拉一条链,从下面一路走上来,遇到能把两条链合起来的就合起来就好了。 1 /************************************************************** 2 ...
分类:
其他好文 时间:
2015-02-23 20:05:25
阅读次数:
246