图论做题记录
CF242D
题意:初始有一个 个点的图,依次添加 条边,对每次加边后需要回答满足每个点的度数都大于等于 的导出子图的最大点数。
考虑将加边操作改为删边操作,关键问题在于怎么求出最后状态的答案。考虑每一个初始点数小于 的点一定不能被加入答案,直接将其删除,在观察删除它之后会使那些点不合法,在重复当前操作,最后剩下的点都是合法的点。对于每次删边操作,即考虑删除这条边后会不会使两点的度数小于 。复杂度线性。
Trick:用类似拓扑排序的方法每次删去不合法点的方法。还有几道类似的例题:CF242D。
CF920E
题意:初始有一个 个点的无向完全图,删去其中 条边,求有多少个连通分量以及每个连通分量的点数。
考虑鸽巢原理,必定有一个点剩余的度数大于等于 。考虑将与这个点相连的点全部合并起来,那么只会剩下 个点未被连通。暴力处理这 个点的复杂度为 。所以总时间复杂度为 。
Trick:从最大度数的点下手,和它不连通的导出子图大小会被降下来。
CF576D
题意:给定一张 个点, 条边的有向图,现要从 号节点走到 号节点。只有走过至少 条边后才能走第 条边。问最少需要经过多少条边,或判断无法到达。
考虑先将边按照 排序,枚举当前要加入的边。难点在于如何求出经过 条边后能到达的点。考虑用邻接矩阵存图,向量存储从 号节点出发能到达的点集。每次经过一条边即向量 右乘(如果 存储的是边 ) 邻接矩阵。每次加入第 条边之后,计算从现在经过 条边能到达的点到 的最短距离,用以更新答案。
Trick:考虑邻接矩阵很重要的一个性质是它是一个矩阵。而很多图论题,如最短路,都可看作是在图上进行 DP,边就是转移方式。所以可以通过乘上邻接矩阵来优化转移。具体的,乘上 次矩阵意为经过了 条边。类似的题目还有:[USACO07NOV]Cow Relays G,[NOI Online #3 提高组]魔法值 和 NOI2020美食家。
__EOF__

本文链接:https://www.cnblogs.com/zym417/p/16897537.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!