随笔分类 - 网络流—有上下界的网络流
摘要:分别给行和列hash建两排点,对(x,y)坐标连x行y列的点 设红色价格低,那么就要尽量多选红色 设一个点出度为s,要求最小的最大差值为d,又,假设有流量表示选红没流量表示选蓝,那么要求就变成了这个点的01边差至少为d,列一下式子就是这个点的流入(或者流出)流量可行区间为[(s d)/2,(s+d)
阅读全文
摘要:洛谷上有个点死活卡不过去,不知道是哪里写丑了orz 参考:https://www.cnblogs.com/ditoly/p/BZOJ4200.html 从上往下dp,设f为不向左右走直接上去的值,g为先向左右走一步再上去,至于找每个方向上的点,分别按x,y,x+y,x y排序然后二分即可 然后建出左
阅读全文
摘要:对于原有边,流区间是(1,inf),按着原边连,然后再连(s,i,(0,inf)),(i,t,(0,inf))表示任意位置进出雪场 按着这个建出新图 然后最小流的方法是先跑可行流,设ans为(t,s,(0,inf))的流量,然后取消这条边,跑从原来的t s的最大流为ans2,答案就是ans ans2
阅读全文
摘要:每条边流量有下界有费用,很显然是有上下界有源汇最小费用最大流 连边(s,1,(0,inf),0),(i,t,(0,inf),0),表示从1出发inf次从每个点结束inf次 连边(i,j,(1,inf),v[i][j]),表示ij之间有剧情的话就至少走一次,每次走花费v[i][j]时间 然后套有上下界
阅读全文
摘要:连有上下界的边(ss,i,(0,m),0),(i',t,(0,m),0),表示从任意点开始和结束 连(i,j,(0,m),d[i][j]),表示可以买票飞过去 连(i,i',(v[i],v[i]),0),表示这条边会流固定v[i]个人 连(s,ss,(m,m),0),表示限制m个人 然后跑有上下界有
阅读全文
摘要:最大值最小,所以考虑二分 |Σaij Σbij| include include include using namespace std; const int N=505; int n,m,ll,rr,a[N][N],sh[N],sl[N],h[N],cnt,le[N],d[N],s,t; stru
阅读全文
摘要:正好考到了所以翻一些题来做……猛然发现搞了半个月的网络流却没做两道上下界(不过这种题好像是比较少233) 首先建立超级源汇ss,tt,没限制的边照常连,对于有限制的边(u,v,mn,mx),连接(u,v,ss tt)和辅助边(ss,v,mn)(u,tt,mn)(实际操作中,对每个点记录一个度就行了,
阅读全文
摘要:第一步:建立无源汇有上下界的网络模型 每行 i 作为一个点并连边(s, i, Ri, Ri),每列 j 作为一个点并连边(j, t, Cj, Cj),设 Uij, Lij 分别表示第 i 行第 j 列元素的上下界,初始时设 Uij=∞, Lij=0。按照给定的约束条 件不断调整 Uij, Lij,若
阅读全文

浙公网安备 33010602011771号