1725 天黑请闭眼

来源:互联网 发布:应用文理学院网络学堂 编辑:程序博客网 时间:2024/04/29 16:53

方法一:树形dp
如果点(i,f[i])建边,得到基环外向树、
相邻两个点不能同时作为杀手,即相邻两个点不能同时取。把环砍掉一条边,变成了树,根据“没有上司的舞会”,定义dp[0][x],表示x不取最大杀手数,dp[1][x]表示x取得最大杀手数。
砍的边(a,b)有三种情况:a,b都不取,a取b不取,a不取b取。
简化情况2中:a一定不取,b随便去不去,b一定不取,a随便去不去。
一定不取的作为根。

方法二:拓扑贪心
如果没有人指证x或者指证x的都是平民,那么x一定可以作为杀手。
如果在环,任选一个作为平民,又变成了链。

0 0