标签:
一, 最大流
1)拆点
①满足个体自身的限制
POJ 3281 Dining
最多多少奶牛可以选到心仪的食物和饮料。 因为每个奶牛对答案的贡献至多为一, 所以把每头奶牛拆成两个点, 连一条容量为一的边就可以了。
SPOJ 962 Intergalactic Map
这道题告诉我们网络流可以求 是否存在一条经过 每一个点(每一条边)不超过 k 次的路径。 只需要把每个点都拆成两个点, 中间连一条容量为 k 的边就可以了。
1305: [CQOI2009]dance跳舞
每个人最多和 k 个不喜欢的人跳舞。 把每个人拆成连喜欢的和连不喜欢的两个点, 两点之间有一条容量为 k 的边。
SGU 438 The Glorious Karlutka River =)
每块石头都要拆成 2 * t 块,在每一个不同的时间点都用两个点表示, 两点间容量为 ci, 第二个点向所有它能到的点的下一个时刻 的第一个点 连一条容量为 ∞ 的边。
上述问题解决的都是 对 某一个个体单独的 数量上的要求, 不会影响到整体, 那么就在这个个体内部拆点然后再把它 加到整体的网络流中。
②代表着时间(空间)转移后的不同情况。
SGU 438 The Glorious Karlutka River =)
每块石头都要拆成 2 * t 块,在每一个不同的时间点都用两个点表示, 两点间容量为 ci, 第二个点向所有它能到的点的下一个时刻 的第一个点 连一条容量为 ∞ 的边。
③ 比赛问题
WOJ 1124 Football Coach
每场比赛是一个点, 每个人是一个点, 每场比赛向源点连一条2的边, 向两个比赛者各连一条2的边就可以啦。
SGU 326 Perspective
类似上一题哒
POJ 2699 The Maximum Number of Strong Kings
标签:
原文地址:http://www.cnblogs.com/lixintong911/p/4230861.html