CF1305G Kuroni and Antihype
题意:有一张图,有
接下来不断执行如下两个操作之一 :
将一个没有染色的点
染色。 若一个未染色点
和某个染色点 直接相连,将 染色,并获得 元。
当所有点都被染色,操作停止。问能获得的钱数最大值。
在操作二中让
为了避免讨论,新建一个点
但是,操作的收益和点权有关,不能直接转化成最小生成树。
将
:
由于连边条件, 边权是两个不交集合的并。
枚举边权
(注意,点权相同的点要批量处理)
从小到大枚举边权跑
:
当然还有更好的做法,考虑
按照套路,每一轮都做一个子集和
然后,对于某个点
每一轮的复杂度是