图论选做
P3465 [POI2008]CLO-Toll [基环树] [并查集] [提高+/省选-]
考虑依照题意,只要有一个环并且图连通,就能满足每个点在一些边定向后,都有为1的入度。
即选择一些边构成一个外向基环树,就可以满足题意
solution:
- 先跑出一棵生成树
- 找一条非树边(这样就能找到一个环),并对这个环定向
- 然后依次对其他点进行定向
P1640 [SCOI2010] 连续攻击游戏 [二分图匹配] [基环树] [提高+/省选-]
考虑第一眼看过去,有点像网络流里面的最小割
,便有了以下思路1,2;
考虑后面回顾整理时和上面这道题有点像,便有了思路3;
solution1(网络流):
- 考虑将一个属性拆成两个点,一个装备的两个属性连边(连双向边),源点
向所有左部点,所有右部点向汇点 连边 - 然后跑网络流,
出流的顺序是从 的左部点,如果 连向第 个点的边没有流,那么答案为
时间复杂度:
solution2(二分图匹配):
- 考虑建图类上:将一个属性拆成两个点,一个装备的两个属性连边(连双向边)
- 然后从左部点的
号点开始 match
,一直到不能找到增广路为止
时间复杂度:
solution3(基环树):
- 实际上可以是装备为边,不用拆点然后建图
- 然后我们可以知道,和上面这道题一样,都是边的定向问题,一个联通块内,只要有环就都可以选。没有环就舍去最大的那个
时间复杂度:
P1525 [NOIP2010 提高组] 关押罪犯 [二分答案] [并查集] [普及+/提高]
考虑最大值最小(这么典的提示为什么一开始没看到呢!可能是题目的迷惑性确实很强,也可能是太久没做二分图的题了)
solution:
- 二分答案
- 考虑把所有的
的边连上(其实可以不用真的连),然后并查集维护联通块个数, 合法,否则不合法,最后取最小的合法答案即可。
本文来自博客园,作者:ricky_lin,转载请注明原文链接:https://www.cnblogs.com/rickylin/p/17584825.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步