KM演算法及一道例題

2021-09-03 02:47:39 字數 1115 閱讀 3130

這道題乍一看沒有什麼性質,但是我們眾所周知也很容易推出來的有乙個性質

這種矩陣的每一項a[i][j]是可以表示成a[i]+b[j]的

也就是說我們可以構建乙個二分圖

對於a[i][j],左邊的點i向右邊的點j建一條權值為a[i][j]的邊

我們現在的要求是對於每 一條邊,要求它兩邊的點權必須加起來大於等於邊權

只要學過km演算法的人,就會突然發現:這怎麼和km演算法的實現流程這麼像?

然後我們求二分圖最大權值匹配,幾乎是裸跑km就可以了

#includeusing namespace std;

int vis1[55],vis2[55],mark1[55],mark2[55],access[55][55],slack[55];

int n,link[55],m,ans;

bool find(int x)

} else slack[i]=min(slack[i],dis);

} return false;

}void bm()

for(int i=1;i<=n;i++)

} }}

int main()

} bm();

for(int i=1;i<=n;i++)

ans+=(mark1[i]+mark2[i])*n;

cout<

if(m)

for(int i=1;i<=n;i++)

printf("\n");

} return 0;}/*

4 116 4 2 4

3 1 4 1

5 3 3 14

21 1 2 3

*/

一道基礎例題的思考

上面是一段我自己編寫的 具體問題是寫出console.log的值,其中我的下意識的判斷 console.log a.constructor b true理由是b.prototype.contructor重寫了a.prototype物件contructor屬性,執行以上 執行結果證明我的下意思判斷是錯...

JS的一道this例題解析

在學習js裡this的指向時,發現了一道有點 的面試題,看懂了對學習this應該是挺有幫助的 例題如下 function parent this.show function function child child.prototype new parent var parent new parent...

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...