一、树形dp
一般求状态转移时,f[i][]表示以i为根节点的子树怎么怎么,转移方程自下而上。
void dfs(int u)
{
···
for(遍历子节点)
{
···
dfs(j) //j为子节点
//关键是回溯之后写转移方程
状态转移方程
···
}
}
二、一些应用
1.与树的路径相关的
AcWing 1072. 树的最长路径
AcWing 1073. 树的中心
AcWing 1075. 数字转换
2.与状态机模型相结合
AcWing 323. 战略游戏
AcWing 1077. 皇宫看守
AcWing 285. 没有上司的舞会
3.与背包问题结合(有依赖的背包问题)