OI-网络流
略
嘉伟森的猫
NYU Shanghai本科,MBZUAI机器学习硕士,深度学习/强化学习菜鸡
展开
-
bzoj 3144(最小割)
传送门 最小割,主要考查建边的思路。本蒟蒻也是看了好几位大佬的博客才看懂。比如: 参考1 参考2 (x,y,z)连接(x,y,z+1)容量为f(x,y,z) (x,y,z)连接(x’,y’,z-d)容量为inf,其中 (x,y)与(x’,y’)相邻 然后跑一边最小割即可。注意! 立体图形的点编号不要写成int num(int i,int j,int k) { return (k原创 2017-07-30 21:13:01 · 391 阅读 · 0 评论 -
bzoj 3894(最小割)
传送门 经典的建图模型,本蒟蒻赶紧orz。 1.source连p(容量为art),p连sink(容量为science) 2.source连p1(容量为same_art),p1连p及其相邻点(容量为INF) 3.p2连sink(容量为same_science),p及其相邻点连p2(容量为INF) 最后跑一边最小割得到min_cut, ans=sum(art)+sum(same_art)+s原创 2017-07-31 09:41:04 · 240 阅读 · 0 评论 -
bzoj 1458(最小割)
传送门 题解 注意:网络流有时真的玄学,边集数组尽量开大一点,不然就RE 还有,代码别敲太快,不然输入打错一个字符就查了20分钟。。。俺的午觉又没了TAT。。。#include<bits/stdc++.h>using namespace std;const int MAXN=202,INF=0x3f3f3f3f;int n,m,k;int s1[MAXN],s2[MAXN],f1[MA原创 2017-09-07 13:31:46 · 257 阅读 · 0 评论 -
bzoj 2132(最小割)
传送门 题解:第一次听说黑白染色,反正就是把奇数号的点视作黑色,S连黑点(商业收益),黑点连(工业收益)T,白点S/T倒置连边,然后黑白相邻两点之间连两者的额外收益和,最后用收益和减去最小割就是答案!但是,为什么这样建图呢?下面说说本蒟蒻的理解: 最小割就是割掉最小的边权,而且dinic确实也是这么跑的,所以商业收益和工业收益割掉的肯定是较小的那个,即留下较大的。白点为什么反过来连边呢?因为如果原创 2017-09-06 23:15:15 · 297 阅读 · 0 评论 -
poj 3680(最小费用流)
传送门 问题:数轴上有若干个带权值的闭区间(刘汝佳蓝书P367写的是左闭右开区间,个人根据样例数据和解法推测应该是笔误),选出一些区间使权值和尽量大且任意一个数均被覆盖k次题解:经典的最小费用流模型,连边方法写在代码开头,具体为什么要这样连边本蒟蒻也不易表述清楚,但是在纸上模拟几组数据发现确实是对的,应该还是很好理解的,实在理解不了的—>戳这儿注意:区间最好先离散化,最后答案是费用的相反数/*原创 2017-08-04 18:38:56 · 285 阅读 · 0 评论 -
Luogu 3381(最小费用流)
传送门模板题。最小费用最大流,要求同时输出最大流以及最小费用,复杂度有点玄学,每增广一次,下一次SPFA的复杂度又会降低。所以这种题暂时只能这么处理:看出来有后效性的相互约束关系的就考虑用费用流解决。#include#include#include#include#includeusing namespace std;const int N=5004,M=50004,INF=0原创 2017-11-06 21:24:42 · 264 阅读 · 0 评论 -
Luogu 3376(最大流)(Dinic+当前弧优化)
传送门Dinic+当前弧优化,复杂度上界为O(V^2*E),NOIP应该还不至于卡这个而支持ISAP吧。#include#include#include#include#includeusing namespace std;const int N=1e4+4,M=1e5+4,INF=0x3f3f3f3f;int n,m,source,sink;int head[N]原创 2017-11-06 20:31:50 · 370 阅读 · 0 评论