摘要: http://poj.org/problem?id=3740POJ 3740 Easy Finding大意:精确覆盖问题:给定一个由0和1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个 1?分析:用跳舞链来解决该问题即可 跳舞链的核心: 如果A是空的,问题解决;成功终止。 否则,选择一个列c(确定的)。 选择一个行r,满足 A[r, c]=1 (不确定的) 把r包含进部分解。 对于所有满足 A[r,j]=1 的j, 从矩阵A中删除第j列; 对于所有满足 A[i,j]=1 的i, 从矩阵A中删除第i行。在不断减少的矩阵A上递归地重复上述算法。#in... 阅读全文
posted @ 2011-02-23 21:27 AndreMouche 阅读(828) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1966POJ 1966 Cable TV Network算法核心:网络流-SAP#include#includeconst int N = 50*2+5;const int INF = N;const int MAXN=N;const int maxn = N;int map[N][N];int cmap[N][N];int getNum(){ char c; int num = 0; while(c=getchar()) { if(c='0')break; } while(c='0') { num=num* 阅读全文
posted @ 2011-02-23 15:19 AndreMouche 阅读(526) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1459POJ 1459 Power Network大意:已知供电站的最大供电量,消费者的最大消费量,电线传输电量的上限,求整个供电网的最大供电量算法核心:SAP#include#includeconst int N = 100+5;const int MAXN =N;const int INF = 20000+200+2;int S,T;//S为源点,T为汇点int graph[N][N];int getNum(){ int num = 0; char c; while(c=getchar()) { if(c='0')bre 阅读全文
posted @ 2011-02-23 15:08 AndreMouche 阅读(346) 评论(0) 推荐(0) 编辑
摘要: POJ 1149 PIGS大意:有m个猪圈和n个顾客,最初猪圈是锁着的。每个顾客有其中的A把钥匙,需要买B头猪顾客在买完猪便将门锁上,而且顾客是按照顺序来的。商家可以对开着的猪圈里面的猪进行任意调配分析:构图1.将猪圈编号为1,2,。。。。m;2.将顾客编号为m+1,m+2,....m+n3.源点为0,汇点为m+n+14.若猪圈i有a[i]头牛,那么建立一条从0到i,流量为a[i]的边5.若顾客j是第一个能打开猪圈i的顾客,那么从猪圈i到顾客j之间建立边,流量无限大6.若顾客j是能打开猪圈i的第k个顾客,第k-1个顾客为x,那么从顾客x到顾客j建立一条边此题使用的最大流模板是SAP,BlueS 阅读全文
posted @ 2011-02-23 14:47 AndreMouche 阅读(522) 评论(0) 推荐(0) 编辑