题意: 有一棵树,选出尽可能多的节点是的两两节点不相邻,即每个节点和他的子节点只能选一个.求符合方案的最大节点数,并最优方案判断是否唯一. 分析: d(u, 0)表示以u为根的子树中,不选u节点能得到的最大人数,f(u, 0)表示方案是否唯一. d(u, 1)表示选u节点能得到的最大人数,同理,f(u, 1)表示方案是否唯一. 状态的转移: d(u, 1)的计算:因为选了u节点,所以u的子节点都不能选.d(u, 1) = sum{ d(v, 0) | v是u的子节点 } f(u, 1)的计算:当…