ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

集训总结(五)

集训总结(五)

9.12

网络流专题练习(吗?

P3980 志愿者招募

考虑用流量代表剩余人数。初始从 \(s\)\(1\) 号点连一条流量为 \(inf\),边权为 \(0\) 的边,代表初始有无数人;接着从第 \(i\) 天向第 \(i+1\) 天连流量为 \(inf-a_i\) ,边权为 \(0\) 的边,代表第 \(i\) 天占用了 \(a_i\) 个人;最后从第 \(s_i\) 天向第 \(t_i+1\) 天连流量为 \(inf\),边权为 \(c\) 的边,跑最小费用最大流即可。

P2770 航空路线问题

考虑拆点,将每座城市拆成入点和出点。初始入点和出点连一条流量为 \(1\),边权为 \(1\) 的边,代表这座城市只能选一次,选了有 \(1\) 的贡献;对于两座城市 \(x,y\),从城市 \(x\) 的出点向 \(y\) 的入点连一条流量为 \(1\),边权为 \(0\) 的边,最后分别从 \(s\)\(1\) 城市的入点,从 \(n\) 城市的出点向 \(t\) 连一条流量为 \(2\),边权为 \(0\) 的边,跑最大费用最大流。

至于输出方案,来回两遍 \(dfs\),找流量为 \(0\) 的路径即可。

返回列表