随笔分类 - 网络流
摘要:struct DI { ll n, m, S, T; ll h[N], ne[M], to[M], f[M], idx; void add(ll u, ll v, ll w) { ne[idx] = h[u], to[idx] = v, f[idx] = w, h[u] = idx++; ne[id
阅读全文
摘要:原题链接 题意:给一个流网络,问有多少条边,使得增加他们容量可以增加最大流。 题解:就是先跑出最大可行流,首先 \(f(u, v) \neq 0\),那么这条边不可以作为,显然其实感性理解就可以了。然后再枚举边,看看边的左端点是否存在一条路径从源点到左端点,边的右端点是否存在一条路径从右端点到汇点,
阅读全文
摘要:原题链接 题解:建图就类似二分图找最大匹配,然后如果输出方案的话,那就是残留网络中流量为0的正向边就是使用的,所以直接找即可。 代码: #include <iostream> #include <queue> #include <map> #include <cstring> using names
阅读全文