【算法】网络流
文章平均质量分 58
mysterynoip
蒟蒻OIer
展开
-
bzoj 3894 文理分科 最小割
题面 题目传送门 解法 比较经典的最小割问题 这道题可以说和小M的作物几乎是一模一样的 直接建图跑最小割就可以了,建图方式和小M的作物简直就是一模一样 代码 #include <bits/stdc++.h> #define N 110 using namespace std; template <typename node> void chkmax(...原创 2018-08-22 18:05:52 · 122 阅读 · 0 评论 -
bzoj 4873 [Shoi2017]寿司餐厅 最大权闭合子图
题面 题目传送门 解法 发现每一种寿司的组合方式都只能被计算一次,并且存在一些依赖关系:比如说选择了[l,r][l,r][l,r]就必须选择它的所有子区间。 这启发我们利用最大权闭合子图来解决问题。不妨考虑将所有区间看成点,按照最大权闭合子图的方式来建图。当然,对于区间[l,r][l,r][l,r]我们不一定要连向所有的子区间,只要连向[l,r−1][l,r-1][l,r−1]和[l+1,r][...原创 2019-03-19 21:49:43 · 192 阅读 · 0 评论 -
bzoj 5251 [2018多省省队联测]劈配 网络流+二分答案
题面 题目传送门 解法 当年我果然还是太菜了 先考虑第一问怎么解决 对于每一个选手iii,连接(S,i,1)(S,i,1)(S,i,1);对于每一个评委jjj,连接(j,T,b[j])(j,T,b[j])(j,T,b[j])。 选手按照编号从小到大处理,枚举最后的答案,然后加上相应的边,看是否能够增广就可以了。 对于第二问,可以记录一下每一个选手做完之后的残量网络,二分答案即可。 【注意事项】...原创 2019-02-14 20:58:50 · 127 阅读 · 0 评论 -
bzoj 3130 [Sdoi2013]费用流 二分答案+网络流
题面 题目传送门 解法 题目转化一下就可以发现要求最大流中流过的流量最大的那条边流量最小 显然可以在实数域内二分答案midmidmid,然后就变成所有边容量为min(c,mid)min(c,mid)min(c,mid)的情况下最大流是否不变 直接dinicdinicdinic似乎就可以了,精度要求不高 代码 #include <bits/stdc++.h> #define doub...原创 2018-09-20 21:37:01 · 167 阅读 · 0 评论 -
bzoj 3171 [Tjoi2013]循环格 费用流
题面 题目传送门 解法 用网络流来调整有向图的度数 显然可以看出最后整张图一定由若干个环构成,并且环之间不会出现连边 那么,我们可以对于每一个格子建一个入点和出点,分别表示该点的入度情况和出度情况 所以,我们可以将SSS和所有点的入点连边,容量为111,费用为000;将所有点的出点和TTT连边,容量为111,费用为000 然后对于这个格子的四周四个格子,由该点的入点连向周围的点的出点...原创 2018-09-06 20:38:44 · 132 阅读 · 0 评论 -
bzoj 2756 [SCOI2012]奇怪的游戏 二分答案+网络流
题面 题目传送门 解法 用网络流来调整,和处理混合图的欧拉回路差不多…… 因为这是一个n×mn×mn×m的棋盘,所以考虑黑白染色,假设黑点总共有n1n1n_1个,权值和为s1s1s_1,白点总共有n2n2n_2个,权值和为s2s2s_2 考虑最后所有的位置全变成了数xxx,那么选择相邻两个格子+1一定意味着在s1+1,s2+1s1+1,s2+1s_1+1,s_2+1,那么就一定满足等...原创 2018-08-30 11:54:12 · 191 阅读 · 0 评论 -
bzoj 1797 [Ahoi2009]Mincut 最小割 网络流+tarjan
题面 题目传送门 解法 某条边是否属于最小割,可以通过有向图连通性来解决 首先,我们可以先通过dinicdinicdinic算法求出这张图的最小割,即最大流 然后对于每一条原来的边(x,y)(x,y)(x,y)分别考虑 先判定(x,y)(x,y)(x,y)是否可以在最小割上 显然,如果(x,y)(x,y)(x,y)这条边仍然有流量残余,那么它显然不会在最小割上,因为如果这条边可能在最...原创 2018-08-29 22:10:55 · 199 阅读 · 0 评论 -
bzoj 2095 [Poi2010]Bridges 二分答案+网络流
题面 题目传送门 解法 判断混合图中是否存在欧拉回路 显然,答案满足单调性,所以我们可以想到二分答案,然后问题就转化成判断混合图中是否存在欧拉回路 考虑没有定向的无向边,我们不妨直接强制定向。如果存在某一个点的入度-出度为奇数,那么无论怎么改变无向边的方向,它的入度一定不会等于出度,因为修改一条边的时候一定是将两个端点的度数±2±2±2 然后考虑用网络流来解决这个问题 对于那些强制定...原创 2018-08-29 20:03:12 · 173 阅读 · 0 评论 -
bzoj 3438 小M的作物 最小割
题面 题目传送门 解法 经典的最小割问题 要解决这个问题,不妨先考虑一下如果没有组合的情况怎么求解 显然,就直接把SSS连向每一个点,容量为aiaia_i,每一个点连向TTT,容量为bibib_i,最后的总价值显然就是(∑ai+bi)−maxflow(∑ai+bi)−maxflow(\sum a_i+b_i)-maxflow,即最小割 那么,我们再考虑一下如果有组合怎么做 可以对于每...原创 2018-08-21 19:44:13 · 159 阅读 · 0 评论 -
bzoj 4485 [Jsoi2015]圈地 最小割
题面 题目传送门 解法 比较容易想到模型的最小割 可以发现,这显然就是一个最小割的模型 不妨将卖给第一个人的全部与SSS连边,卖给另一个人的与TTT连边,容量分别为各自格子里的价格 然后将相邻格子连边,容量为两个格子之间建墙的代价,然后用所有价格-最小割就是答案 考虑一下这个算法的正确性,显然一个点要么不取,要么就一定会分配给SSS集或TTT集。建造围墙的时候就保证了SSS集的点不会...原创 2018-08-22 19:57:09 · 250 阅读 · 0 评论 -
bzoj 3218 a + b Problem 最小割+主席树优化建图
题面 题目传送门 解法 比较显然的最小割,不妨考虑如何建图。 首先将SSS连向每一个点iii,容量为w[i]w[i]w[i],表示割这条边点iii的颜色为黑色;iii向TTT连容量为b[i]b[i]b[i]的边,表示割这条边点iii的颜色为白色。对于jjj满足1≤j<i1\leq j<i1≤j<i且a[j]∈[l[i],r[i]]a[j]\in [l[i],r[...原创 2019-03-30 18:14:55 · 156 阅读 · 0 评论