随笔分类 - 动态规划——树形dp
摘要:转载请注明出处:http://www.cnblogs.com/TSHugh/p/8776179.html 先说60分的.思路题解上很清晰: 问题似乎等价于选K+1条点不相交的链哎!F(x,k,0/1/2)表示考虑以x为根的子树,选了k条链,点x的度数为0/1/2的最优解. 我说一下比较坑的地方吧:1
阅读全文
摘要:又是一道思路清新的小清晰。 观察题目,如果我们确定了平民或者贵族的任意一方,我们便可以贪心的求出另一方,至此20分;我们发现层数十分小,那么我们就也是状压层数,用lca转移,线性dp,至此50分(好像数据很水这么打能A);至今我们没有用到他是一棵完全二叉树,那么我们发现如果进行树dp,也就是说从子节
阅读全文
摘要:由于树规做的少所以即使我考试想出来正确的状态也不会转移。 一般dp的转移不那么繁杂(除了插头.....),即使多那也是清晰明了的,而且按照树规的一般思路,我们是从下到上的,所以我们要尽量简洁地从儿子那里的状态转移过来。 I.我们定义状态数组f[i][0/1],f[i][0]表示在以这个点为根的子树里
阅读全文
摘要:#define int long long using namespace std; signed main(){ 这个题一看就是图论题,然后我们观察他的性质,因为一个图论题如果没有什么性质,就是真·不可做...... 每个疯子只有一个出度,因此我们YY一下:{ 这是一个有向图,所以,我们可以Tarjan,然后我们把点分为强联通分量内,和强联通分量外,然后我们从强联通分量内的点...
阅读全文