题意
小凸和小方是好朋友,小方给了小凸一个n×m(n≤m)的矩阵A,并且要求小凸从矩阵中选出n个数,其中任意两个数都不能在同一行或者同一列。现在小凸想知道,选出的n个数中第k大的数的最小值是多少。
数据范围
对于20%的数据,1≤n≤m≤9
对于40%的数据,1≤n≤m≤22,1≤n≤12
对于100%的数据,1≤k≤n≤m≤250,1≤Ai,j≤109
题解
显然二分答案,判断ans是否 ≤ \le ≤x,即>ans的点不能超过k-1个。对于矩阵行列匹配的题考虑把行和列看作点,每个数看作边,然后为什么我想的就是直接费用流呢(最近怎么每道题都想到最麻烦的做法啊)。直接把 ≤ \le ≤ans的点连上,看最大匹配是否大于n-k个就好啦,因为是完全图剩下的一定能匹配完。