随笔分类 -  图论__网络流

摘要:巨强的一道题 对于可行解的判定,考虑对于每个城市都会有两个铁路断点,而每个铁路断点必须和另一个铁路断点结合,而棋盘图又是天然二分图,所以第一阶段考虑判断可行解的建图方式为: 棋盘黑白染色,源点向所有白点连边,所有黑点向汇点连边,容量均为2.然后所有白点向相邻黑点连容量为1点边,如果跑出最大流使源汇均 阅读全文
posted @ 2016-12-30 15:37 ihopenot 阅读(421) 评论(0) 推荐(0)
摘要:注意到所有学生分为文理两科实际是把所有学生分为两个集合,如果相邻点全为同一集合有额外贡献 与最小割模型类似,考虑用最小割来解这道题 所有割到s的集合的点如果相邻点有割到t集合的就要去掉共有贡献,但是不论他周围有多少与他不同的人,这个贡献只会被扣一次,所以考虑拆点 可以观察到如果一个点没有选择文科,那 阅读全文
posted @ 2016-12-28 10:53 ihopenot 阅读(188) 评论(0) 推荐(0)
摘要:暴力预处理出可行点对,拆点后跑最小费用最大流,费用取负 连边要对连,就是x->y和y->x都要连,最后除2才是答案 因为这里每个数只能匹配一次,对连的话同一个点两边都会采用同样的连法所以可以避免多次匹配 代码: 阅读全文
posted @ 2016-10-24 10:50 ihopenot 阅读(200) 评论(0) 推荐(0)
摘要:费用流 把每个工人点拆成n个,代表是修的倒数第几辆车,这样费用就很好设定了。 总体构图 : 源点向所有顾客连边(1,0) 所有工人点向汇点连边(1,0) 顾客向工人点连边,第i位顾客向第j个工人拆出的第k个点连边(1,k*cost[i][j]) 代码 : 阅读全文
posted @ 2016-10-17 11:36 ihopenot 阅读(173) 评论(0) 推荐(0)