原题链接
1 题目
1.1 题目所需求出内容
对于本题,最终要求:一个最大值
1.2 题目背景、允许、禁止与限制
背景:
有一棵有根树,每个点有一个快乐指数 rir_iri
允许:
对于某个点,若其直接上司参与了活动,它就一定不会参与,否则可以选择参与或不参与
总快乐指数为所有参与活动点的最大值总和,请最大化这个总快乐指数
限制:
有根
1.3 题目数据范围与猜测
1≤n≤6×103⟶O(n2)1 \le n \le 6\times10^3 \longrightarrow O(n^2)1≤n≤6×103⟶O(n2)
1.4 一句话概括题意
有一棵有根树,求在某些选点限制下最大化点权总和
2 题目破题推导
2.1 第一步:分情况讨论
每个点 uuu 只有两种可能性
* uuu 参与活动
那对于所有 E=(u,v)E=(u,v)E=(u,v),vvv 都应该是不选择的状态
* uuu 不参与活动
那对于所有 E=(u,v)E=(u,v)E=(u,v),vvv 选择或不选择都满足条件
3 模型匹配
关键词:树形结构,动态求取最小值 ⟶\longrightarrow⟶ 树形dp(背包问题)\huge{树形dp(背包问题)}树形dp(背包问题)
4 最终代码(禁止抄袭,仅用于参考)
错误点:对于有根树,要自己找根root(也有可能题目给定),也要存无向边;且此时最终答案不能选择所有答案中的最大值,应该只选根节点的所有可能(有时候也不一定完全是这样)