|
|
这个题,真简单吧。 大概是整张图的边集被划分成若干个边集,我们要选出最小若干个集合,使得剩下的边集组成的图中 $1,n$ 不联通。 显然是最小割,对于集合 $i$ 的边 $(u,v)$,我们连一条 $u\to i\to v$ 的边,表明若选择点 $i$ 割掉,则这条边就走不通了(实际上就是选择集合 $i$)。 显然割不掉点,所以把点拆成入点和出点,然后连 $S\to 1,n\to T$ 的边,除了入点出点边权设为 $1$,其他均设置成 $\infty$。 时间复杂度为 $O(m\sqrt{m})$,复杂度原理参考二分图最大匹配的网络流建模方法。
题目4276 [THUPC 2025 pre] 检查站
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2
评论
2026-01-31 15:16:30
|
|
|
官方题解。来源:清华大学学生算法协会仓库 题目很明显是一个最小割问题。对于题目描述中的“通知一个分部,在其所有下辖的铁路上设立检查站”操作,我们需要对如下问题进行网络流建模:给定网络流图以及对其边的划分,一次可以以 $1$ 的代价割掉一个划分集合中的所有边。特别地,在同一个划分集合中的所有边都与某个点相邻。 考虑某个形如 $A_i \to x_i \to B_i$ 的划分集合,其中 $A_i$ 和 $B_i$ 为任意点集。考虑如下建模:
注意到在这个建模中,若所有边都不被割掉,其连通关系恰好为 $A_i \to x \to B_i$,而割掉 $p_i \to q_i$ 之后这个连通关系就消失了,符合我们的需求。 再注意到网络流图上的所有边边权均为 1,直接运行 dinic 算法求解最大流的复杂度为 $O(n \sqrt{m})$,足以通过本题。
题目4276 [THUPC 2025 pre] 检查站
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1
评论
2026-01-30 20:21:23
|