电视网络 Cable TV Network 题解

传送门

想出如何连边很容易:将每个点拆点为入点 \(u\) 和出点 \(u+n\),输入的每条边的 \((u,v)\) 正常从出点连向入点连上双向边,容量无穷大防止被割,即 \(u+n\to v\),\(v+n\to u\),最后跑最小割即可。

  • 你不会还要问为什么拆点吧?

  • 这说明你刷题还是太少。 因为我们每个点只能选一次,而拆点之后限制了从这条边流过的流量只能为 \(1\),即只能选一次。

问题是这道题无法确定源汇点!

如果建立虚拟源汇点的话,那么为保持图联通必须要把源点向所有入点都连边,把所有出点向汇点连边,但这样最小割的答案就改变了;而我们又无法在图中找到合适的源汇点保证答案最小。

这时我们可以枚举源汇点,把所有的点作为源汇点的情况全部跑一边取最小值即可。

posted @ 2023-06-12 22:00  Pwtking  阅读(50)  评论(0)    收藏  举报