直接模拟即可
一个鸽子一个点,一个鸽巢一个点,序列上的位置一个点。
转移鸽子直接重新连鸽子与序列的边,转移鸽巢直接重连鸽巢与序列的点。转移都为 \(O(1)\)
一开始,想到了二分加贪心,但是贪心是个分讨,没想清楚细节。
赛后发现只需要二分后只需要维护每个值合法的范围即可,看能否一直不冲突到最后。
斯坦纳树的板子题,多枚举一个点预处理出所有的答案,然后\(O(1)\) 输出即可