题目地址:id=2195">POJ2195 本人职业生涯费用流第一发!!快邀请赛了.决定还是多学点东西.起码碰到简单的网络流要A掉.以后最大流费用流最小割就一块刷. 曾经费用流在我心目中一直是高大上.高不可攀的形象,可这两天才发现,原来费用流就是一个spfa再加点东西. . . 一直以为费用流会比最大流的isap要麻烦好多,毕竟多了一个费用的元素. .. .我真的错了..细致研究了一下.仅仅用一个spfa确实就能够攻克了.. . 这题是一个入门题(尽管还多了些处理. . ).建图思路非常e…
POJ 2516 Minimum Cost (网络流,最小费用流) Description Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his sale area there are N shopkeepers (marked from 1 to N) which stocks goods from him.Dearboy has M supply places (marke…
Luogu 2469 [SDOI2010]星际竞速 / HYSBZ 1927 [Sdoi2010]星际竞速 (网络流,最小费用流) Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星际航路构成,其中每颗行星都有一个不同的引力值.大赛要求车手们从一颗与这N颗行星之间没有任何航路的天体出发,访问这N颗行星每颗恰好一次,首先完成这一目标的人获得胜利.由于赛…
题目大意:是有M个猪圈,N个顾客,顾客要买猪,神奇的是顾客有一些猪圈的钥匙而主人MIRKO却没有钥匙,多么神奇?顾客可以在打开的猪圈购买任意数量的猪,只要猪圈里有足够数量的猪.而且当顾客打开猪圈后mirko就可以在打开的猪圈之间任意调整猪的数量,(顾客走了之后猪圈要关闭).问mirko怎样做能使顾客买到最多的猪 思路如下:(也是查的,具体原理和原因明天更新) 1.取超级源点和超级汇点: 2.当猪圈被第一次打开时,在源点与当前顾客之间连接一条边,容量为该猪圈的猪的头数: 3.当某个猪圈 不是被第一…
题目地址:pid=1853">HDU1853 费用流果然好奇妙. .还能够用来推断环...假设每一个点都是环的一部分并且每一个点仅仅能用到一次的话,那每一个点的初度入度都是1,这就能够利用网络流来解决,仅仅要拆点令其流量为1.就限制了每一个点仅仅能用一次,每次左边的连到右边的.就相当于左边点的一次初度和右边的点的一次入度.非常easy想象出来. 最后仅仅要推断总流量是否为n就可以.由于假设总流量为n的话.说明每一个点都出了一次度.每一个点都入了一次度.并且由于拆点的流量限制.充分说明了每一…
题意很简单:JOHN是一个农场主养了一些奶牛,神奇的是这些个奶牛有不同的品味,只喜欢吃某些食物,喝某些饮料,傻傻的John做了很多食物和饮料,但她不知道可以最多喂饱多少牛,(喂饱当然是有吃有喝才会饱) 输入数据有N,F,D,表示牛的个数,食物的数量,饮料的数量 接着输出N行表示N个牛的数据 每个牛的数据前2个是Fi和Di表示第i个牛喜欢吃的食物种数和饮料种数,接着输出Fi个食物的编号和Di个食物的编号 ok题意就是这样,这题主要考的是建图 需要把牛拆点,一分为二 图应该是 这种形式      源…
Kaka's Matrix Travels Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9153   Accepted: 3696 Description On an N × N chessboard with a non-negative number in each grid, Kaka starts his matrix travels with SUM = 0. For each travel, Kaka mo…
题目链接:http://poj.org/problem?id=2195 题目大意是给一张网格,网格中m代表人,h代表房子,网格中的房子和人数量相等,人可以向上向下走,每走1步花费加1,每个房子只能住一个人,问使得所有人住房子里最少的花费是多少? 最小费用流的题目,最大流跑spfa,每个人和每个房子之间建边,边的流量为1,花费是人到房子的距离,假定一个源点和一个汇点,源点连接所有的人,每条边流量为1,花费为0,所有的房子连接汇点,同样的边流量是1,花费是0,从源点到汇点跑一下费用流就可以得出答案.…
http://poj.org/problem?id=2195 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<cstdlib> #define maxn 500 using namespace std; int n,mm; char g[maxn][maxn]; <<; struc…
题意:m个猪圈,n个客户,每个客户给出选则猪圈的钥匙和需要购买猪的个数,其中每次客户购买时客户选则的猪圈数量可以相互更换,问最大购买数量. 思路:以客户作为除源点汇点之外的点,然后对于每个猪圈从源点连其第一次购买的客户,容量为其猪的个数,随后链接其下一次购买的客户容量为无穷.最后每个客户与其汇点相连,数量为想要购买的个数. 一开始没想出来,其实对于每个需求,只要控制好其源点容量的进入和汇点的控制,对于其中间过程给一个无穷的容量便可作网络流了. 代码: #include<cstdio> #inc…