随笔分类 -  网络流

摘要: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 阅读全文
posted @ 2021-08-13 14:42 u_yan 阅读(44) 评论(0) 推荐(0)
摘要:原题链接 题意:给一个流网络,问有多少条边,使得增加他们容量可以增加最大流。 题解:就是先跑出最大可行流,首先 \(f(u, v) \neq 0\),那么这条边不可以作为,显然其实感性理解就可以了。然后再枚举边,看看边的左端点是否存在一条路径从源点到左端点,边的右端点是否存在一条路径从右端点到汇点, 阅读全文
posted @ 2021-04-14 12:06 u_yan 阅读(46) 评论(0) 推荐(0)
摘要:原题链接 题解:建图就类似二分图找最大匹配,然后如果输出方案的话,那就是残留网络中流量为0的正向边就是使用的,所以直接找即可。 代码: #include <iostream> #include <queue> #include <map> #include <cstring> using names 阅读全文
posted @ 2021-04-13 09:32 u_yan 阅读(30) 评论(0) 推荐(0)