题目意思是有一些蜥蜴在一个迷宫里面,求这些蜥蜴还有多少是无论如何都逃不出来的。题目只给定一个行数n,一个最远能够跳跃的距离d。每只蜥蜴有一个初始的位置,题目保证这些位置都有一些柱子,但是它每离开一根柱子,柱子的高度就会降低1m,问最多能有多少只跳不出去。
将每个柱子在的点进行拆点,把每一个点拆完之后连一条容量为所在点柱子高度的边。从原点连一条容量为1的边,然后找到每个可以直接跳出的点,将这些点与...
解题报告
题目传送门
题意:
一个人有n个农场,他想从1到n去,有从n到1回来,要求路径最短,且没有走重复的路。
思路:
如果两次最短路感觉不行的,可以看成费用流,每一条路容量都是1,这样只要流量等于2就行了。
一次mcmf模版。
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespac...
分类:
其他好文 时间:
2014-08-17 15:37:52
阅读次数:
334
题目大意是:K台挤奶机器,C头牛,K不超过30,C不超过200,每台挤奶机器最多可以为M台牛工作,给出这些牛和机器之间,牛和牛之间,机器与机器之间的距离,在保证让最多的牛都有机器挤奶的情况下,给出其中最长的一头牛移动的距离的最小值。
首先用Floyd求出任意两点之间的最短距离,然后再用二分法限定最多的移动距离d,在求最大流时,搜索增广路的时候同时也判断距离有没有超过d就行了。
...
分类:
其他好文 时间:
2014-08-17 14:21:44
阅读次数:
228
最短路问题 此类问题类型不多,变形较少POJ 2449 Remmarguts' Date(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 题意:经典问题:K短路 解法:dijkstra+A*(rec),方法很多 相关:http://acm....
分类:
其他好文 时间:
2014-08-17 11:38:02
阅读次数:
261
链接:http://poj.org/problem?id=3422
卡卡
题意:卡卡的矩阵之旅,有一个n*n的矩阵,卡卡要从左上角走到右下角,每次他只能往右或往下走,卡卡可以走k遍这个矩阵,每个点有一个num值,卡卡走到这里可以获得num点,一个点只能获得一次num值,问卡卡走完k遍后身上num值最大可以是多少?
思路:其实看到这题时没思路,图论书上说了建图的方式,但...
分类:
其他好文 时间:
2014-08-16 21:07:01
阅读次数:
224
链接:http://poj.org/problem?id=2516
题意:有k种货物,n个客户对每种货物有一定需求量,有m个仓库,每个仓库里有一定数量的k种货物,然后k个n*m的矩阵,告诉从各个仓库到各个客户位置运送单位第k种货物所需的运费,问满足所有客户需求的最小费用,如满足不了所有客户,则输出-1。
思路:题目有点绕,不过多看看也就理解了。这道题算是最小费用最大流的入门题吧,建图很...
分类:
其他好文 时间:
2014-08-16 13:50:20
阅读次数:
306
N头牛,M个畜栏,每头牛只喜欢其中的某几个畜栏,但是一个畜栏只能有一只牛拥有,问最多可以有多少只牛拥有畜栏。
典型的指派型问题,用二分图匹配来做,求最大二分图匹配可以用最大流算法,也可以用匈牙利算法,这里使用匈牙利算法。
#include
#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-08-16 12:34:30
阅读次数:
165
链接:http://poj.org/problem?id=2396
题意:给一个n*m的矩阵,给出每行的总和以及每列的总和,再给出某些位置的最小或最大限制,问是否存在可能的矩阵,如果存在输出一种矩阵信息。
思路:这是一个有源汇的上下界可行流,对于这种题,从汇点连一条弧到源点,容量为INF,这不会影响流量平衡条件,并且此时原图转换为了无源汇的上下界可行流,剩下的做法和无源汇一样。
建图...
分类:
其他好文 时间:
2014-08-15 19:41:19
阅读次数:
349
HDU 4289 Control (网络流-最小割)
题目大意:
先是n,m表示n个城市,m条边,接下来src,sink,表示一个小偷从起点到终点,接下来n行表示每个城市放置警察需要的花费,接下来m行表示m条无向边。问你阻断小偷需要多少花费?
解题思路:
将n个城市拆点构边,根据最小割定理,阻断起点到终点的连同最小割的花费也就是求最大流。...
分类:
其他好文 时间:
2014-08-15 17:59:19
阅读次数:
189
题目的大体意思是:给你一些有向边让你求出给出的点s,t之间最短路的条数。
两边spfa从s到t,和从t到s然后求出在最短路上的点建一条容量为1的边,然后求出s到t的最大的流量,就是最短路的数目。
PS:代码写的姿势不够优美。
Marriage Match IV
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768...
分类:
其他好文 时间:
2014-08-15 16:05:49
阅读次数:
336