电视网络 Cable TV Network 题解
想出如何连边很容易:将每个点拆点为入点 \(u\) 和出点 \(u+n\),输入的每条边的 \((u,v)\) 正常从出点连向入点连上双向边,容量无穷大防止被割,即 \(u+n\to v\),\(v+n\to u\),最后跑最小割即可。
-
你不会还要问为什么拆点吧?
-
这说明你刷题还是太少。因为我们每个点只能选一次,而拆点之后限制了从这条边流过的流量只能为 \(1\),即只能选一次。
问题是这道题无法确定源汇点!
如果建立虚拟源汇点的话,那么为保持图联通必须要把源点向所有入点都连边,把所有出点向汇点连边,但这样最小割的答案就改变了;而我们又无法在图中找到合适的源汇点保证答案最小。
这时我们可以枚举源汇点,把所有的点作为源汇点的情况全部跑一边取最小值即可。

浙公网安备 33010602011771号