因为是无向图,所以从1到2再到3等于从2到1和3。用拆点来限制流量(i,i+n,1),然后连接(s,2+n,1),(1,t,1),(3,t,1),对于原图中的边连接(x+n,y,1)(y+n,x,1),跑一遍dinic看答案是否为2即可。 ...
分类:
其他好文 时间:
2018-01-31 20:19:05
阅读次数:
131
【传送门:BZOJ1066】 简要题意: 给出一个图,图上有些点上有石柱,点上的数字不为0时,表示有石柱,点上的数字表示能够经过这个石柱的次数 给出图中蜥蜴的位置,每只蜥蜴每次能够跳跃d距离(欧几里得距离,曼哈顿距离都可以),他们的目的是跳跃到图的边界外,请问最少有多少只蜥蜴不能逃到边界外 题解: ...
分类:
其他好文 时间:
2018-01-21 11:02:58
阅读次数:
108
P1231 教辅的组成 题目背景 滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西。 题目描述 蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习题。然而出现在他眼前的书多得数不胜数,其中有书,有答案,有练习册。已知一个完整的书册均应该包含且仅包 ...
分类:
其他好文 时间:
2018-01-20 15:13:16
阅读次数:
190
题目链接 通过这题我学会了引诱算法的行为,就是你通过适当的状态设计,引诱算法按照你想要它做的去行动,进而达到解题的目的。 最小费用最大流,首先将点拆点,入点和出点连一条费用=-权值,容量=1的边,再连费用=0,容量=INF的边,跑最小费用最大流即可。 ...
分类:
其他好文 时间:
2018-01-19 17:24:09
阅读次数:
180
网络流 如果只有两个的话就是裸的二分图匹配 然而这里有三个元素 由于食物和饮料互相没有关系,只和牛有关系 那么我们把牛拆点x->y cap = 1 然后饮料和食物分别限制x y就行了 #include<bits/stdc++.h> using namespace std; const int N = ...
分类:
其他好文 时间:
2018-01-14 22:52:48
阅读次数:
319
题意 : 给出一些牛棚,每个牛棚都原本都有一些牛但是每个牛棚可以容纳的牛都是有限的,现在给出一些路与路的花费和牛棚拥有的牛和可以容纳牛的数量,要求最短能在多少时间内使得每头牛都有安身的牛棚。( 这里注意给出的边是无向边且有重边 ) 分析 : 听说是网络流的经典题型,这里先来讲一下如何转化为最大流然后 ...
分类:
其他好文 时间:
2018-01-06 19:03:44
阅读次数:
165
其实不用拆点,对于每个人我们假装他是\\( s[i]+1 \\)个点,可以由他向T点分别连\\( s[i]+1 \\)条边,容量为\\( t[i][j] t[i][j 1]\\),由S点向所有产品i连容量为c[i]的边,由所有产品向能制造它的人连容量为inf的边。 因为是最小费用最大流,\\( w[ ...
分类:
其他好文 时间:
2018-01-03 21:11:22
阅读次数:
202
要想限制流量,总要想着拆点。 cpp include include include include using namespace std; int n, m, ss, tt, uu, vv, ww, maxFlow, minCost, cnt, hea[405], pre[405]; int d ...
分类:
其他好文 时间:
2018-01-03 11:44:58
阅读次数:
131
题目描述 Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consume no others. Farmer John has cooked fabu ...
分类:
其他好文 时间:
2017-12-29 22:38:46
阅读次数:
246