口胡的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)\)

浙公网安备 33010602011771号