題意:n*n的格仔,每行和每列都是1~n的每個數出現一次。給出前k行,補全剩下的n-k行。1<=n<=100,0題解:二分匹配裸題。
1.假如第i行有100種填寫方法,那麼每一種均可,不會出現第p種填寫方案使後面行無法填寫而第q種填寫方案使後面行可以填寫的情況。
2.逐行匹配即可。
#include#define n 105
using namespace std ;
int n , m ;
int a[n][n] ;
int match[n] ;
bool vis[n] ;
bool used[n][n] ;
bool dfs(int x)
} }return 0 ;
}bool judge_row()
return 1 ;
}bool judge_col()
return 1 ;
}int main()
for(i = m + 1 ; i <= n ; i ++)
if(ans < n)
for(j = 1 ; j <= n ; j ++)
a[i][match[j]] = j ;
for(j = 1 ; j <= n ; j ++)
used[j][a[i][j]] = 1 ;
} if(!judge_row() || !judge_col())
flag = 0 ;
if(flag == 0)
printf("no") ;
else
for(j = 1 ; j <= n - 1 ; j ++)
printf("%d " , a[n][j]) ;
printf("%d" , a[n][n]) ;
}}
二分 二分匹配
給了乙個矩陣 n行m列 選n個數 要保證這n個數不在同行同列,計算出第k大的數最小 二分答案,然後我們對於每個a i j mid的我們就i和j建立一條邊 然後二分求最大匹配必須大於等於n k 1 因為是第k大 而不是第k小 坑了好久才發現 include include include includ...
二分匹配演算法
匈牙利演算法求二分匹配 下 include includeusing namespace std int v 頂點數 vectorg max v 圖的鄰接表表示 int match max v 所匹配的頂點 bool used max v dfs 中用到的訪問標記 向圖中增加一條連線 u 和 v 的...
過山車 (二分匹配)
rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和l...