二分图最大顺序匹配。 拿题目编号和锦囊编号建二分图,跑匈牙利算法。 #include #include #include using namespace std; const int maxn = 2000 + 10; const int maxm = 4000 + 10; int n,m,e; i... ...
分类:
其他好文 时间:
2016-04-12 22:13:33
阅读次数:
153
讲解一 讲解二 我的图解 png jpeg ...
分类:
编程语言 时间:
2016-04-11 22:26:02
阅读次数:
492
这个题唯一需要说的就是普通的匈牙利算法是O(nm)的,过不了 然后HK算法可以O(n^0.5m),这个算法可以每次找很多同样长度的最短增广路 分析见:http://www.hardbird.net/lightoj-1356-prime-independence%E6%9C%80%E5%A4%A7%E ...
分类:
编程语言 时间:
2016-04-11 20:38:37
阅读次数:
194
题目大意:给定一个n?nn*n的满秩矩阵AA和一个n?nn*n的矩阵BB。求一个字典序最小的1...n1...n的排列aa满足将随意一个AiA_i换成BaiB_{a_i}后矩阵AA仍然满秩 我们考虑建立一个二分图。假设AiA_i能换成BjB_j。就在i?>ji->j之间连接一条边 那么这个图怎么建呢 ...
分类:
编程语言 时间:
2016-04-09 10:40:54
阅读次数:
235
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 const int MAXN=1001+100; 7 int p[MAXN][MAXN
分类:
编程语言 时间:
2016-03-12 19:58:42
阅读次数:
180
一、二分图最大匹配 Edmonds于1965年提出了匈牙利算法,解决了求取二分图最大匹配的问题。其算法思想是将初始匹配通过迭代寻找增广路径得到最大匹配,每次迭代得到的匹配大小加1。 增广路径的表现形式是一条“交错路径”,第一条边是目前没有参与匹配的,第二条参与匹配,第四条边没有参与......最后一
分类:
其他好文 时间:
2016-03-06 11:16:36
阅读次数:
421
过山车 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦
分类:
编程语言 时间:
2016-03-05 13:04:42
阅读次数:
284
题意:经典的二分图匹配问题。给出一个N*N矩阵,其中有K个障碍物。一发歼星炮可以清楚一行或者一列上的障碍物。求最少的开炮数。 做法:可以考虑最大点覆盖。建图左边顶点为行,右边顶点为列。若有障碍物则连边。此时最大点覆盖就是最小开炮数,也就是计算二分图最大匹配。使用匈牙利算法即可。 1 /*------
分类:
其他好文 时间:
2016-03-05 01:38:40
阅读次数:
268
题意:一个N*M的矩阵里有K个观测点,你必须放置天线覆盖所有观测点。每个雷达只能天线两个观测点,这两点必须相邻。计算最少天线数。 做法:将所有相邻的观测点连起来,建图。跑一遍匈牙利算法就计算出了最大的覆盖数,除以二就是天线数。还要加上落单的观测点,每个都需要一个天线。 1 /*-----------
分类:
其他好文 时间:
2016-03-05 01:32:25
阅读次数:
201