随笔分类 - 网络流
摘要:题目描述: 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的 多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题 ,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个“锦囊妙
阅读全文
摘要:好长时间没有写网络流了,感觉好手生.对于本题,设一个源点 $s$ 和 $t$.1.由 $s$ 向每个点连一条没有下界,容量为无限大的边,表示以该点为起点.2.由每个点向 $t$ 连一条没有下界,容量为无限大的边,表示以该点为终点.为了保证每条原图中得边都能被覆盖掉,再将原图中的边连一条无上界,下界为
阅读全文
摘要:对于第一问,跑一遍最大流即可. 对于第二问,在残量网络上的两点间建立边 <u,v>,容量为无限大,费用为扩充费用. 跑一遍最小费用流即可. Code:
阅读全文
摘要:这道题还是很好的. 考察了选手对网络流的理解. 首先,任意两个相邻点之间的运货量时没有限制的. 我们可以将相邻点之间的流量建为无限大,单位费用设为 1,代表运输一个货物需耗费一个代价. 由于题目要求最后所有人的货物量都相同,则说明每个人在最后拥有的货物量一定是总货物量的平均数,我们设为 $w$. 考
阅读全文
摘要:Code:
阅读全文
摘要:水题. 也难怪,这毕竟是我当年初三的时候刷的题...... #include<cstdio> #include<vector> #include<algorithm> #include<queue> #include<cstring> #include<iostream> using namespa
阅读全文
摘要:水题. 本质上题目要求的是一个包含 $1$,$n$ 的最大环,所以每个点只可以经过一次. 那么就拆点,然后限制每个点的经过次数就行了. #include<cstdio> #include<iostream> #include<algorithm> #include<vector> #include<
阅读全文
摘要:比较简单的费用流. 我们发现题目中有几个性质: 1. 总共走 k 次. 2. 每个格子可以无限经过. 3. 每个格子最多只能贡献 1 次. 根据上述条件,我们就将每个格子进行拆点,拆成入点和出点. 入点向出点连一条 $(1,a[i][j])$ 的边,表示贡献. 入点向出点连一条 $(+\infty,
阅读全文
摘要:题解: 首先,我们不难猜到高度只有 $0$ 或 $1$ 两种可能,而且高度为 0 的地区组成一个联通块,高度为 1 的地区组成一个联通块。只有这样,人们所耗费的体力才是最小的。得出这个结论,题目就成了求平面图的最小割。由于最大流等于最小割,网络流的做法是显然的,不过数据过大,不加优化是很难通过的。
阅读全文

浙公网安备 33010602011771号