网络流
文章平均质量分 77
普通网友
这个作者很懒,什么都没留下…
展开
-
hdu 4067 #最小费用流
题意是问是否能通过删除边后存在一个起点出度-入度为1,终点入度-出度为1,其余点出度==入度的图。 同时删边与留边都要话费,要求最后花费最少。 类似混合欧拉图 因为可以把每个点的度数看作要运送的物品。最后出度大的点连向原点,入度大的点连向汇点,//注意连的方向,不然要wa 关于最小值 默认都取操作最小值,即 如果删的费用大即留该条边,此时起点度数-- ,终点度数++,再添加一条原创 2017-09-13 17:37:24 · 266 阅读 · 0 评论 -
hdu 4406 #最大费用流
最大费用流,就是流量不固定的最大费用流。不一定是最大流。 就是经典的费用与流量平方成正比的最小流(白书上有)模型的应用。 一个流,代表一个分配。如果所有科目都及格的话,直接拆边就可以了。 注意科目不及格的情况。 #include #include #include #include #include #include #include #include #inc转载 2017-09-13 20:45:05 · 248 阅读 · 0 评论 -
poj 2135 #最小费用流
can you hear me ? #include #include #include #include #include #include #include using namespace std; #define mod 1000000007 #define pi 3.1415926535897932 #define low_bit(x) (x&(-x)) #define type int原创 2017-09-10 13:59:54 · 247 阅读 · 0 评论 -
hdu 3472 HS BDC
混合欧拉图 第一次这么长的代码! 下次来讲解 挂个参考的#include #include #include #include #include #include #include #include #define mod 1000000007 #define low_bit(x) x&(-x) #define type int #define maxn 2000 #defi原创 2017-08-31 23:08:22 · 355 阅读 · 0 评论 -
方格取数 hdu 1565 最小割
选取的格子不相邻,即可以在相邻的格子间连一条流量为inf的边,不能被割去 #include #include #include #include using namespace std; #define maxn 444 #define maxm 33333 #define INF 0x3f3f3f3f int head[maxn],cur[maxn],d[maxn],st[maxm],原创 2017-10-10 11:18:20 · 252 阅读 · 0 评论 -
hdu 1569 最小割
给条件加边流量为inf,最小割求解 #include #include #include using namespace std; typedef long long ll ; #define captype int const int MAXN = 40010; //点的总数 const int MAXM = 400010; //边的总数 const int INF = 1<<30原创 2017-10-11 22:42:58 · 312 阅读 · 0 评论 -
hdu 3820 最小割
#include #include #include using namespace std; typedef long long ll ; #define captype int const int MAXN = 40010; //点的总数 const int MAXM = 400010; //边的总数 const int INF = 1<<30; struct EDG{ i原创 2017-10-11 23:08:21 · 287 阅读 · 0 评论 -
hdu 3657 game 最小割
#include #include #include using namespace std; typedef long long ll ; #define captype int const int MAXN = 40010; //点的总数 const int MAXM = 400010; //边的总数 const int INF = 1<<30; struct EDG{ i原创 2017-10-15 22:42:18 · 219 阅读 · 0 评论 -
Nubulsa Expo. 全局最小割
#include //点标从0-n-1, 开始时先init 复杂度n^3 //对于边(u,v,flow): //g[u][v]+=flow; //g[v][u]+=flow; typedef long long ll; const int N = 305; const ll inf = 1e18; ll g[N][N], w[N]; int a[N], v[N], na[N]; void add原创 2017-10-15 22:43:23 · 240 阅读 · 0 评论