二分图最大顺序匹配。 拿题目编号和锦囊编号建二分图,跑匈牙利算法。 #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
题意很简单,显然是对客人与伞做匹配,求最大匹配数。 一开始用了匈牙利,果断TLE。。。 好吧,原来二分匹配还有这个奇葩算法。。然而敲完还是不明白这个算法啥意思。。。 附两个算法的时间复杂度: 匈牙利:O(VE) H-K :O(V^0.5 E) ...
分类:
编程语言 时间:
2016-04-08 21:29:33
阅读次数:
240
第K大也就是第n-K+1小,所以就可以的二分答案了 (江哥讲过一道类似题) 二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n-K+1个数,然后就可以跑匈牙利了,对于一个坐标(x,y)如果满足a[x][y]≤a[x][y]当前答案,就把第x行向第y列连边,然后跑匈 ...
分类:
其他好文 时间:
2016-04-07 22:05:49
阅读次数:
200
1,思考问题时一定要发散,基于固有的经验 2,解题思路 a,数据结构(容器) b,基本算法(搜索,匈牙利,并查集,动态规划,网络流) c,基本算法思想(贪心,分支) 3,本题刚开始想的是用快排后使用map,复杂度是O(n2),超时,代码如下 4,后来看的网上解法,左右夹逼的方法,也是O(n2) ...
分类:
其他好文 时间:
2016-04-02 13:33:37
阅读次数:
157
顾名思义,“命名规则”指的是为标识符起名字时遵循的规则。标识符主要包括变量名、函数名、类名和宏名。 三种主流命名法:骆驼(Camel)命名法,帕斯卡(Pascal)命名法和匈牙利命名法。 个人习惯,一般情况使用骆驼命名法,类名对象名使用帕斯卡。 数据库表名 统一全部小写中间用"_"分隔 例如 "cp ...
分类:
其他好文 时间:
2016-03-31 20:22:07
阅读次数:
128
第KK大看成第KK小各种WA。。。
第KK大也就是第n?K+1n-K+1小,所以就可以愉快的二分答案了
二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n?K+1n-K+1个数,然后就可以愉快的跑匈牙利了,对于一个坐标(x,y)(x,y)如果满足a[x][y]≤a[x][y]\leq当前答案,就把第xx行向第yy列连边,然后跑匈牙利判断最大匹配是否大于n?K+...
分类:
其他好文 时间:
2016-03-21 18:28:59
阅读次数:
183
在遥远的东方,有一个神秘的民族,自称Y族。他们世代居住在水面上,奉龙王为神。每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动。我们可以把Y族居住地水系看成一个由岔口和河道组成的网络。每条河道连接着两个岔口,并且水在河道内按照一个固定的方向流动。显然,水系中不会有环流(下图描述一个环流的例子)。 由
分类:
其他好文 时间:
2016-03-16 07:04:52
阅读次数:
205