• 欢迎光临~

图论做题记录

开发技术 开发技术 2022-11-16 次浏览

CF242D

题意:初始有一个 (n) 个点的图,依次添加 (m) 条边,对每次加边后需要回答满足每个点的度数都大于等于 (k) 的导出子图的最大点数。

考虑将加边操作改为删边操作,关键问题在于怎么求出最后状态的答案。考虑每一个初始点数小于 (k) 的点一定不能被加入答案,直接将其删除,在观察删除它之后会使那些点不合法,在重复当前操作,最后剩下的点都是合法的点。对于每次删边操作,即考虑删除这条边后会不会使两点的度数小于 (k)。复杂度线性。

Trick:用类似拓扑排序的方法每次删去不合法点的方法。还有几道类似的例题:CF242D。

CF920E

题意:初始有一个 (n) 个点的无向完全图,删去其中 (m) 条边,求有多少个连通分量以及每个连通分量的点数。

考虑鸽巢原理,必定有一个点剩余的度数大于等于 (n - frac{m}{n} - 1)。考虑将与这个点相连的点全部合并起来,那么只会剩下 (frac{m}{n}) 个点未被连通。暴力处理这 (frac{m}{n}) 个点的复杂度为 (O(n cdot frac{m}{n}))。所以总时间复杂度为 (O(n + m))

Trick:从最大度数的点下手,和它不连通的导出子图大小会被降下来。

程序员灯塔
转载请注明原文链接:图论做题记录
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com