二分匹配 類似數獨問題

2021-09-23 11:22:48 字數 965 閱讀 5874

題意: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...