「清华集训 2017」小 Y 和二叉树 (贪心)

首先,我们可以知道可以作为第一个的一定是度数\(<3\)的点。
那么我们找到最小的度数\(<3\)的点,先把它作为根。
显然它并不能作为根,我们要对根进行调整。
\(dp\)\(f_i\)表示\(i\)子树内最小的度数\(<3\)的点。
假设根在\(u\)
如果它只有\(1\)个儿子\(v\),且\(v\)<\(u\),那么根在\(v\)的子树内会更优。
如果它有两个儿子,那么它不能作为根(度数\(>2\)),那么我们要选一个儿子,
仔细分析后发现我们会进入\(f\)更大的儿子。
然后就是简单模拟了。

posted @ 2020-11-18 16:14  zzy2005  阅读(67)  评论(0编辑  收藏  举报