6432. 【NOIP2019提高组正式赛day1】树上的数(tree)

Problem

见原题

Data constraint

n ≤ 2000 n\le 2000 n2000

Solution

普通的分类讨论会让你陷入崩溃。

不妨试着聪明一点的发现一些性质,并基于此建立一些简单的必要条件。

题目要求每一条边都得删去,那不妨考虑对于每一个点,它的每条边的删除顺序是怎样的。

考虑当前新增一条链,“一条链”指的是从把某个点通过依次删去一些边到达另一个点所形成的边集。

对于这条链而言,首先你要考虑的是自己能走过去。准确来说是在满足前面的所有删边基础上,自己可以走过去。

例如,你不能走连续两条在同一条链上的边。例如,你不能顺着一条以前链上的边走……

而这些,都可以用判断一个点的所有连边的删除顺序进行考虑。

其次,你要保证自己走过去以后不能影响别人,即不能影响前面的链。这也是类似的,同样进行考虑即可。

你可能感兴趣的:(6432. 【NOIP2019提高组正式赛day1】树上的数(tree))