演算法知識 - Maximum Bipartite Matching (使用 Augmenting Path Algorithm)

Maximum Bipartite Matching 介紹

在介紹最大二分匹配時,必須先介紹二分圖。
二分圖是一種圖的特例,二分圖的結構為,X 群體的每一個點都有連結到至少一個以上 Y 群體的點、T 群體的每一個點都有連結到至少一個以上 X 群體的點,且 X、Y 群體各自沒有邊互相連接。

圖源引用師大演算法

二分匹配就是,每一個 x 節點只能連到一個 y 個節點、每一個 y 節點只能連到一個 x 個節點,舊式二分匹配,類似於一夫一妻制。

圖源引用師大演算法

我們使用 Augmenting Path Algorithm 實作,時間複雜度為 \(O(VE)\),V 是頂點、e 是邊

閱讀更多...

UVa10354 - Avoiding Your Boss(Floyd)

題目大意

你是一個悠閒但優秀的程式設計師,有一天,你裝病請假,但你想出門到超市買東西,你要避免遇到老闆,老闆會從老闆家會走路徑到辦公室,其中老闆一定會走最短路徑,那你的任務則是避開老闆走的最短路徑中所有節點,再讓你自己走最短路徑抵達超市。

請輸出自己走最短路徑抵達超市的成本,不行請輸出 “MISSION IMPOSSIBLE.”

題目連結

閱讀更多...

UVa12768 - Inspired Procrastination(Dijkstra)

題目大意

一個很嚴重的問題常困擾著大學生,那就是拖延XD,我們現在來看你人生中一系列的事件,有些事件你可能會拖延,有些事不會,反而會提前做,也許有的時候你可能會在幾個重複的事件繞阿繞。

我們想找出如果我們在人生中一系列的事件中不斷的拖延,最多可以拖延多少,如果可以拖延一輩子都不做,就輸出 Unlimited!
題目連結

閱讀更多...
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: