口胡的CF2165E题解

最近(貌似并不最近)的一场CF的倒数第二题,赛后我补题时发现F是3500,E是3000+,所以赛时没做出来情有可冤

题意

定义一棵树的不便度为意两点之间路径上颜色种类的最大数量,说人话就是颜色最多的简便路径的颜色数

让你涂 \(k\) 个颜色,让不便度最小

解法

既然 \(k\in{1,2,3,4,...,n-1}\) ,我们不妨考虑一下特殊情况

\(k=n-1\) 时,不难发现答案就是树的直径。因为直径的中点就是到所有点的最大距离最小的点,而不方便度 \(=\) 颜色定义下的直径

若直径为偶数

我们可以让最外层的 \(\frac{k}{2} - 1\) 分配一种颜色,最外层的 \(\frac{k}{2} - 1\) 个点与根节点之间也要染一种颜色,总计有 \(\frac{k}{2}\) 种颜色。

此时,我们可以令任何剩余点为根

根据贪心,肯定要取度数尽量大的点为根

若直径为奇数

同理可得,即为该颜色块与其他点的距离最多为 \(\frac{k-1}{2}\)

于是,我们可以用多源BFS,复杂度 \(O(n)\)

posted @ 2026-02-24 15:35  jianghaochen  阅读(14)  评论(0)    收藏  举报