链接:https://abc103.contest.atcoder.jp/tasks/abc103_d
有n个岛练成一条线,每两个岛之间有一个桥。现在有m个岛之间发生了冲突,发生冲突的岛就不能连通了,问最少要切断几座桥?
这题很有意思,贪心地去考虑,希望切到的边影响尽可能地大,可以考虑贪心地将发生冲突的右端点从小到大排,然后从左到右开始切。
可以反证一下:假如选中的某次冲突的右端点不是最优的解,那么可能存在一个在此点左侧的点待切,显然存在的左侧点不是最优点,因为左侧已经统计完将此点之前发生冲突的点对分割开的桥数,再添加一条是冗余的。
1 |
|