上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 32 下一页
摘要: 1 /floyd求传递闭包,裸题,当牛被打败x次,胜利y次,且x+y==n-1时,说明该牛位置确定。注意下面的程序中 2 //map[i][i]恒为false,也就是自己不能打败自己。难度1 3 4 #include<stdio.h> 5 #include<string.h> 6 int n,m; 7 int map[500][500]; 8 void floyd() 9 {10 int i,j,k;11 for(k=1;k<=n;k++)12 {13 for(i=1;i<=n;i++)14 for(j=1;j<=n;j++)15... 阅读全文
posted @ 2012-05-06 11:35 Szz 阅读(227) 评论(0) 推荐(0)
摘要: 有向图强连通分量的Tarjan算法 (2012-02-13 15:42:52)转载▼标签:杂谈分类:杂类«次短路径与次小生成树问题的简单解法HAOI 2008 硬币购物»四15有向图强连通分量的Tarjan算法转载至http://www.byvoid.com/blog/scc-tarjan/zh-hans/计算机科学Add comments17,691 views[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称 阅读全文
posted @ 2012-05-06 09:37 Szz 阅读(296) 评论(0) 推荐(0)
摘要: 1 /* 2 将 maxn 定位 200 不是超时 就是wa 定位300 32ms 过 纠结。。。。。。。 3 4 题意:一个row*col的矩阵,m表示人,H表示房子,.表示空地,人数和房子数相等,如下图: 5 5 5 6 HH..m 7 ..... 8 ..... 9 ..... 10 mm..H 11 现在要让所有的人都进入不同的房子内,问总共最少走多少步? 12 将 人看作是 源点 房子 看作是 汇点 13 14 思路:最小费用最大流。 15 16 */ 1... 阅读全文
posted @ 2012-05-05 11:10 Szz 阅读(221) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1149/*一开始没很懂题意 ,将 猪圈 和人 一起建了一个图 写了一个最大六模版,可是结果始终和样例不一样,有读了一遍题 ,题中说 猪圈打开后可以重新调整猪的分配。这才明白。1. 对于每个猪圈的第一个顾客,从源点向他连一条边,容量为猪圈里的猪的数量。2. 对于每个猪圈,如果不是第一个顾客,则上一个打开这个猪圈的顾客向这个顾客连一条边,容量为 +∞。(便于调整猪的重新分配)3. 每个顾客到汇点连一条边,容量为各个顾客能买的数量。*/#include<stdio.h>#include<string.h>#define i 阅读全文
posted @ 2012-05-04 20:58 Szz 阅读(213) 评论(0) 推荐(0)
摘要: 一、最小费用最大流的模型在保证流量最大的前提下,所需的费用最小,这就是最小费用最大流问题.带有费用的网络流图: G=(V,E,C,W)V:顶点; E:弧;C:弧的容量;W:单位流量费用。任意的弧<i,j>对应非负的容量c[i,j]和单位流量费用w[i,j]。满足:① 流量f是G的最大流。② 在f是G的最大流的前提下,流的费用最小。F是G的最大流的集合(最大流不止一个):在最大流中寻找一个费用最小的流 f.二、最小费用最大流的算法基本思路:把弧<i,j>的单位费用w[i,j]看作弧<i,j>的路径长度,每次找从源点s到汇点t长度最短(费用最小)的可增广路径进行 阅读全文
posted @ 2012-05-03 21:45 Szz 阅读(1866) 评论(0) 推荐(0)
摘要: 题意:有N个客户,M个仓库,和K种货物。已知每个客户需要每种货物的数量,每个仓库存储每种货物的数量,每个仓库运输各种货物去各个客户的单位费用。判断所有的仓库能否满足所有客户的需求,如果可以,求出最少的运输总费用。 思路:最小费用最大流。先判断是否每种货物的存储总量都足够,足够的话,对每一种货物进行一次最小费用最大流求出完成这种货物运输的最小总费用,所有的总费用相加就是结果了。思路:最小费用最大流。先判断是否每种货物的存储总量都足够, 足够的话,对每一种货物进行一次最小费用最大 流求出完成这种货物运输的最小总费用,所有的总费用相加就是结果了。http://poj.org/problem?... 阅读全文
posted @ 2012-05-03 21:26 Szz 阅读(317) 评论(0) 推荐(0)
摘要: 网络流EK算法数据结构:队列主要操作:广搜 记录路径 更新能解决的问题:最大流(最小割)复杂度:O(MV)v指最大容量,M指边数。新名词: 1.增广路:从源点source到tink的一条简单路,如果路上的每条边(u,v)的可改进量均大于0,则称这条路为一条增广路。 增广路定理:网络达到最大流量当且仅当不存在增广路。 增广路算法:从一个可行流开始不断的寻找可增广路,然后沿着它增广,直到它不存在。 2.反向弧:如果有一条弧(u,v),那么再进行网络流算法时,要对它建立反向弧(v,u),反向弧的容量为0,与正向弧相反,正向弧减少容量时,反向弧增加容量。建立反向弧能更多的增广,... 阅读全文
posted @ 2012-05-01 11:20 Szz 阅读(1062) 评论(0) 推荐(0)
摘要: 1直接套用最大流的模板的,主要是建图的过程。输入分别为m个点,a个发电站,b个用户,n条边;接下去是n条边的信息(u,v)cost,cost表示边(u,v)的最大流量;a个发电站的信息(u)cost,cost表示发电站u能提供的最大流量;b个用户的信息(v)cost,cost表示每个用户v能接受的最大流量。 典型的最大网络流中多源多汇的问题,在图中添加1个源点S和汇点T,将S和每个发电站相连,边的权值是发电站能提供的最大流量;将每个用户和T相连,边的权值是每个用户能接受的最大流量。从而转化成了一般的最大网络流问题,然后求解。map[i][j]记录的就是i->j可以增加的流量 2 第一次b 阅读全文
posted @ 2012-05-01 11:17 Szz 阅读(238) 评论(0) 推荐(0)
摘要: 网络流维基百科,自由的百科全书在图论中,网络流 (Network Flow)是指在一个每条边都有容量 (Capacity)的有向图分配流,使一条边的流量不会超过它的容量。(边有附带容量的图称为网络。)一道流必须符合一个结点的进出的流量相同的限制,除非这是一个源点 (Source)──有较多向外的流,或是一个汇点 (Sink)──有较多向内的流。一个网络可以用来模拟道路系统的交通量、管中的液体、电路中的电流或类似一些东西在一个结点 (Node) 的网络中游动的任何事物。目录[隐藏]1定义2例子3算法4应用5普遍化及专门化6参考7外部连接[编辑]定义假设是一个有限的有向图,它的每条边都有一个非负值 阅读全文
posted @ 2012-04-30 19:55 Szz 阅读(969) 评论(0) 推荐(0)
摘要: 1 http://poj.org/problem?id=1364/* 2 题意: 3 告诉你有一列长度为n的数列和m个关系式。每个关系式的表述为: 4 si ni “gt” c 或者是 si ni “lt” c。分别代表该数列第si项一直加到第si+ni项的和大于c, 5 和第si项一直加到第si+ni项的和小于c。求是否存在满足以上m个要求的数列。是则输出“lamentable kingdom”, 6 否则输出“successful conspiracy”。 7 8 tmd 犯糊涂了 用dis[i]表示 前i 项和 题中 s... 阅读全文
posted @ 2012-04-30 10:37 Szz 阅读(195) 评论(0) 推荐(0)
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 32 下一页