本题需要为每一个可能的目标孤岛数量 k 求出最大总收益。
正向考虑“拆除光缆、分裂孤岛”比较复杂,我们采用逆向思维:
有 n 片区域和 m 条光缆,区域编号从 1 到 n。每条光缆连接两片区域,并带有一个收益值。部分光缆被标记为“可拆除”(标记为 1),拆除它们可以获得其收益值;其余光缆被标记为“不可拆除”(标记为 0),必须保留。
初始时所有光缆完好,整个网络是连通的。你可以选择拆除若干条可拆除光缆,每拆除一条便获得对应的收益。拆除光缆后,网络可能会分裂为若干个孤岛(即连通块)。
现在需要你为每一个 k=1,2,…,n 回答:在最终孤岛数量不超过 k 的条件下,最多能获得的总收益是多少。
数据范围:区域数 n 与光缆数 m 均不超过 105,收益值 w 满足 1≤w<109。每条光缆的标记 c 为 0 或 1。保证没有自环和重边,且初始网络连通。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.