HDU 2063 過山車 匈牙利演算法模板

2021-08-20 00:03:31 字數 628 閱讀 3493

匈牙利演算法模板。

大概過程就是對乙個點進行匹配時,嘗試匹配所有與它相連的點。如果這個點沒有被匹配,或者這個點被匹配了,但是匹配它的點可以重新找到乙個匹配點,從而騰出這個點,那麼就可以與這個點匹配。

used陣列標記遍歷到的v。如果不標記,增廣過程中乙個點會重複匹配v。

最大匹配就是對一邊所有的點嘗試匹配,看有多少成功匹配的。

#include#include#include#includeusing namespace std;

typedef long long ll;

#define inf 0x3f3f3f3f

#define maxn 510

int k,n,m;

int match[maxn];

bool used[maxn];

vectorg[maxn];

bool find(int u)}}

return false;

}void init()

int solve()

return ans;

}int main()

printf("%d\n",solve());

}return 0;

}

hdu 2063 過山車(匈牙利演算法)

典型的匈牙利演算法入門題 匈牙利演算法不明白的話推薦看這篇部落格,博主寫的很棒,看了完全可以明白。problem description rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做...

HDU 2063 過山車 匈牙利演算法)

題目鏈結 裸模版題,學習匈牙利演算法。看了很多,大體理解了演算法過程了。至於思想,以後慢慢體會。解釋一下樣例的過程把,從1號女找到1號男,linker記錄下女生編號。然後再找二號女,發現和一號男有關係,去再搜一號男的linker1號女是否可以換乙個男的,ok,找到了,1號女和2號男連起來。再找三號女...

HDU 2063 過山車(匈牙利)

題目大意 男生女生一起做過山車,要求必須乙個男生和乙個女生一起做過山車,現在給出了女生分別想和那幾個男生一起做過山車,問能做上過山車的最大組合數。思路分析 求建立二分圖中的最大匹配數,用匈牙利演算法 乙個模板題 實現 include includeint top,ans,by 550 visit 5...