
树形dp
树形dp
gongyuandaye
不要再问我会不会写可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫比乌斯反演莫队带花舞蹈链并查集树状数组套主席树预处理动态DP分治FFT求多项式逆元对数函数的指数函数用可持久化并查集合并最小费用循环流上插头DP了。
展开
-
CodeForces 219D Choosing Capital for Treeland (树形dp)
题意:在一颗树中,边都是单向的,找到一个节点,使得它如果能到达任何一个结点的话,反转的边最少。 题解:树形dp 进行两次深搜。 第一次深搜,用dp[u][0]表示从节点u出发到达任一点所要反转的边数。 第二次深搜,已知dp[root][0]表示的就是root点的答案,继续深搜更新子节点,对于fa和son,fa始终是更新完成的节点(即答案),先让fa的答案赋值到son,那么仅需要考虑fa和son之间的一条边,+1-1即可。 #define _CRT_SECURE_NO_WARNINGS #include<原创 2020-05-14 17:06:17 · 170 阅读 · 0 评论 -
POJ 2342 Anniversary party (树形dp)
题意:某大学有n个职员,编号为1~n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 题解:树形dp 设dp[x][0]dp[x][0]dp[x][0]表示以x为根的子树,且x不参加舞会的最大快乐值;dp[x][1]dp[x][1]dp[x][原创 2020-05-14 10:04:03 · 422 阅读 · 0 评论 -
CodeForces 461B Appleman and Tree (树形dp)
题意:给出n个节点的一棵树,每个节点要么是白色,要么是黑色,删除某些边,使得每一连通块都只有一个黑色节点,求有多少种方法。 题解:树形dp dp[u][1]dp[u][1]dp[u][1]:以u为根的树含有黑色节点的方案数。 dp[u][0]dp[u][0]dp[u][0]:以u为根的树不含黑色节点的方案数。 然后考虑当前节点与子节点之间是否删除边,更新dp数组即可。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<c原创 2020-05-14 09:59:42 · 189 阅读 · 0 评论