网络流
jpphy0
算法是存在的
展开
-
越流越贵(最小费用最大流)
目录问题分析代码问题分析代码#include<bits/stdc++.h>using namespace std;const int MXN = 55, MXE = 510, inf = 0x3f3f3f3f;int n, m, pre[MXN], dis[MXN], inq[MXN], flow[MXN];int head[MXN], tot;struct Edge{int to, nxt, cap, cost;}edge[MXE<<5];void addEdg原创 2021-09-21 16:49:33 · 87 阅读 · 0 评论 -
poj 3422 Kaka‘s Matrix Travels — K取方格数(最大费用最大流)
目录问题分析代码问题K取方格数 - http://poj.org/problem?id=3422分析代码在这里插入代码片原创 2021-09-17 20:04:19 · 92 阅读 · 0 评论 -
序列选数(最大费用最大流 || 优先队列)
目录问题分析网络流代码优先队列最大费用最大流【TLE】问题给定偶数个数 a[1]、a[2]、...、a[n]a[1]、a[2]、...、a[n]a[1]、a[2]、...、a[n]。分别输出从这n个数里选 1、2、3、…、n/21、2、3、…、n/21、2、3、…、n/2 个数时的和的最大值,选数规则是不能同时选相邻的数。1≤a[i]≤1000,2≤n≤1000001\leq a[i] \leq 1000,2 \leq n \leq 1000001≤a[i]≤1000,2≤n≤100000分析原创 2021-09-17 10:48:36 · 106 阅读 · 0 评论 -
P3376 (最大流 dinic)
目录问题分析代码问题P3376 - https://www.luogu.com.cn/problem/P3376分析代码【950MS】#include<bits/stdc++.h>using namespace std;const int inf = 0x7f7f7f7f;const int MXN = 105, MXE = 10010;int tot, n, m, k, head[MXN<<1], d[MXN<<1], cur[MXN<&l原创 2021-09-13 09:16:44 · 158 阅读 · 0 评论 -
最大流 ISAP
引入求解最大流问题的一个比较容易想到的方法就是,每次在残量网络(residual network)中任意寻找一条从sss到ttt的路径,然后增广,直到不存在这样的路径为止。这就是一般增广路算法(labeling algorithm)。可以证明这种不加改进的贪婪算法是正确的。假设最大流是fff,那么它的运行时间为O( f⋅∣E∣)O\left(\ f\cdot \mid E\mid\right)O( f⋅∣E∣)。但是,这个运行时间并不好,因为它和最大流fff有关。人们发现,如果每次都原创 2021-09-12 08:40:00 · 180 阅读 · 0 评论 -
占棋盘(最大流 dinic)
目录问题分析代码问题分析代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 105, MXE = 20010;int mp[MXN][MXN], l[MXN], c[MXN]; // 网格int tot, m, n, k, head[MXN<<1], d[MXN<<1], cur[MXN<<1]; // 图stru原创 2021-09-11 16:35:34 · 130 阅读 · 0 评论 -
偷钻石(最小割 2 最大流)
目录问题分析一般场景模型转换构图代码问题m个保安监控 n 个钻石。钻石价值 aia_iai,保安小费 bib_ibi。小偷若向保安支付小费,则保安放松监控,小偷将偷得钻石。问:如何支付小费将获得最大收益。输入:13 3 // n,m3 4 5 // 钻石的价值1 2 3 // 小费101 // 监控第1颗钻石的保安001101分析一般场景放弃若干钻石,支付若干保安小费,此时的收益:∑i=1nai−(∑j=1αakj+∑j=1βbkj),1≤α≤n,1≤β≤m\sum_{原创 2021-09-08 16:49:47 · 72 阅读 · 0 评论 -
最小割(最大流)
@toc问题n个顶点m条边的有向图,边有权值。现要求删除若干边使得顶点1和顶点n之间不存在路径,求删除的边的权值和最小。输入:15 51 3 12 // 1-> 3,权值122 4 54 5 83 5 72 3 7分析最小割 = 最大流代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 55;int n, m, g[MXN]原创 2021-09-08 15:42:45 · 160 阅读 · 0 评论 -
分房间(最大流)
目录问题分析代码问题n 个人和m 个房间,每个人只住一个房间,每个房间只住1个人。问最多能安排几个人。输入13 3111001001分析构造有向图最大流代码#include<bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const int MXN = 105;int n, m, g[MXN][MXN], pre[MXN];queue<int> q;void bfs原创 2021-09-08 15:11:28 · 197 阅读 · 0 评论 -
hdu 1532 Drainage Ditches(最大流)
目录问题分析代码问题hdu 1532 Drainage Ditches - https://acm.hdu.edu.cn/showproblem.php?pid=1532分析图中的重边容量累加,自环忽略bfs 搜索增广路,路径存储在pre中(记录前驱节点),pre兼具标记作用增广路 不存在的标记是 汇点的前驱不存在搜索到增广路后,从汇点到源点 遍历路径,找出路径流量的瓶颈(最小值)从汇点到源点 遍历路径,更新残留网络代码#include<bits/stdc++.h>us原创 2021-09-08 10:51:41 · 132 阅读 · 0 评论