今天又一次碰到了这个问题,上一次是 [ZJOI2008] 骑士,这一次是 城市环路。
记录一下这个问题怎么搞。
我们选择把这个问题转化为在一棵正常的树上边做正常的最大独立集,同时有环上的两个相邻点 \(S,T\) 被规定不能选择相同的。
我们断掉 \(S,T\) 之间这一条边,选择在 \(S,T\) 分别跑一次最大独立集,取两个 dp[root][0] 的最大值就行的。
显然正确
今天又一次碰到了这个问题,上一次是 [ZJOI2008] 骑士,这一次是 城市环路。
记录一下这个问题怎么搞。
我们选择把这个问题转化为在一棵正常的树上边做正常的最大独立集,同时有环上的两个相邻点 \(S,T\) 被规定不能选择相同的。
我们断掉 \(S,T\) 之间这一条边,选择在 \(S,T\) 分别跑一次最大独立集,取两个 dp[root][0] 的最大值就行的。
显然正确