网络流
玛珈山大萌新
破山中贼易,破心中贼难。不破不立,破而后立,立而为人。
展开
-
[费用流]2194. 负载平衡问题
题目:acwing2194. 负载平衡问题分析:建图方式:每个点向左右两边建边,容量无穷,花费为1s向高于平均值的建边,容量为差值,花费为0低于平均值的向t建边,容量为差值,花费为0代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 lll;#define print(i) cout <<原创 2021-02-25 15:02:34 · 148 阅读 · 0 评论 -
[最大权闭合图]acwing2176. 太空飞行计划问题
题目:acwing2176. 太空飞行计划问题分析:最大权闭合图的求解:s到正权点连边,容量为点权,负权点到t连边,容量为负权的绝对值,二分图中间的边(题目给的边),容量为inf最大权即为sum(正权) - dinic()闭合点集的求解跑一个dfs即可代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 l原创 2021-02-18 17:31:09 · 141 阅读 · 1 评论 -
[最小点割集]381. 有线电视网络
题目:381. 有线电视网络分析:将每个点拆点,分成入点和出点,两者相连,容量为1无向边拆成两个有向边,每条有向边由出点连向入点,容量为inf枚举s,t,求最小割(即为点内边组成的边集),不断更新答案代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 lll;#define print(i) cout &原创 2021-02-18 16:25:21 · 89 阅读 · 0 评论 -
[最大点权独立集]AcWing 2326. 王者之剑
题目:AcWing 2326. 王者之剑分析:本题的三个性质:只能在偶数时间取宝石相邻格子不能同时取将棋盘黑白染色组成二分图之后,独立集跟原题的合法方案一一对应所以本题就是求一个二分图的最大点权独立集代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 lll;#define print(i) cout原创 2021-02-17 18:19:22 · 115 阅读 · 0 评论 -
[最小点权覆盖集]AcWing 2325. 有向图破坏
题目:AcWing 2325. 有向图破坏分析:将每个点拆成两个点——负点和正点,构建二分图。负点会覆盖从出边),正点会覆盖入边。然后这个问题就变成了求最小点覆盖问题了。最小点权覆盖求法:然后建立源点S,向其中左侧点连一条容量为该点权值的边建立汇点T,由右侧点向T连一条容量为该点权值的边对于二分图中原有的边,改为由与S相连的点连向与T相连的点的一条容量为INF的边跑一遍最大流,其结果就是最小点权和。然后最小割(简单割)涉及到的点即为所求的点集。代码:#include <bit原创 2021-02-17 17:04:35 · 159 阅读 · 0 评论 -
[网络流]2279. 网络战争
题目:2279. 网络战争分析:1、最小化平均值可以考虑二分答案,用以下的不等式判断二分是否合法。2、每条边权与枚举的平均值作差后,如果为负,则一定选。3、对于作差非负的边组成的网络跑最大流,无向图建边双向权值相同。4、double二分的循环条件要注意代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 ll原创 2021-02-11 00:56:32 · 225 阅读 · 1 评论 -
[网络流]acwing 2237. 猪
题目:AcWing 2237. 猪分析:由于每个人取猪的时序关系,可以把猪看成遗产,由最近的一个人继承过来。建图方式:源点:0汇点:n + 1每个人所需的猪圈从上一次使用该猪圈的人连一条inf边过来,如果无人用过该猪圈,则从s连一条容量为该猪圈初始猪数的边每个人连一条容量为猪需求的边到t代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗原创 2021-02-02 18:56:48 · 132 阅读 · 0 评论 -
[网络流]AcWing 2180. 最长递增子序列问题
题目:AcWing 2180. 最长递增子序列问题分析:拆点的题目。pro1:经典dp,求得最长为maxxpro2:每个点只能用一次,于是拆点。s - > 首点的左点, 长度为maxx的末点的右点 - > tdp小的连向dp大的pro3:pro2的前两种方式的边的容量改为inf,继续增广代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long原创 2021-01-31 22:43:35 · 107 阅读 · 0 评论 -
acwing2277. 秘密挤奶机 二分+最大流
题目:acwing2277. 秘密挤奶机分析:二分答案,然后对于当前的答案求一个最大流即可代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//三年竞赛一场空,不开long long见祖宗//typedef __int128 lll;#define print(i) cout << "debug: " << i << endl#define close()原创 2021-01-28 18:57:49 · 764 阅读 · 0 评论 -
最大流
题目1:Dining POJ - 3281分析:模板(当前弧优化+剪枝)代码:#include <cstdio>#include <iostream>#include <queue>#include <cstring>#include <algorithm>typedef long long ll;//typedef __int128 lll;#define print(i) cout << "debug: " &原创 2020-07-16 18:45:42 · 116 阅读 · 0 评论