hdu 3488 km《先人太聰明了》

2022-05-13 17:25:02 字數 1214 閱讀 7281

發明這個演算法的人 太聰明了 想到了頂標這個概念 -.-

雖然 圖論就是個建圖過程 然後就是模板的使用 但是 一定要理解這個演算法 模板 真的....

我給2個我看資料的鏈結..傳送1 

傳送2這題的話 有一點特殊 就是需要求 相反數 因為問的是 最小值...還有 這題有重邊的存在 開始wa在這裡-.-

1 #include 2 #include 3 #include 4

using

namespace

std;56

intn;

7const

int size = 220;8

const

int inf = 0x3f3f3f3f;9

intmp[size][size];

10int

lx[size] , ly[size];

11int

linker[size];

12bool

visx[size] , visy[size];

13int

slack[size];

1415

bool dfs( int

x )16

32}33else

if( slack[y] >temp )

3437}38

}39return

false;40

}4142void

km( )

4356}57

}58for( int x = 1 ; x<=n ; x++)

5964

while( true)65

76for( int x = 1 ; x<=n ; x++)

7781

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

8288}89

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

9195 cout << -ans <

9798

intmain()

99112

km();

113}

114}

115return0;

116 }

view code

這裡 我想最重要的概念就是--交錯樹了--我還沒有對km理解地很好 不做自己想法的闡述了

today:

如果你是魚,不要迷戀天空;如果你是鳥,不要痴情海洋。——汪國真

HDU 3488 Tour(最大權匹配 KM)

description有 n n 個景點,m role presentation style position relative m m條連通 n n 個景點的單向路,要求用一次或多次線路遊覽完所有景點,一條線路的定義是從乙個景點出發經過若干景點後回到起點,除起點景點經過兩次之外其餘景點只能經過一次...

KM求最優匹配 hdu 3488 Tour

km求最優匹配 hdu 3488 tour km求最優匹配 hdu 3488 tour 題意 給出兩個端點和這兩點間的距離,求出這些邊構成的所有環中 邊和最小是多少,每個點只能用一次,即每個點只能在乙個環中 思路 把每個點拆成兩個點,每條邊的出度點 起點 作為x部,入度點 終點 作為y部 然後進行最...

HDU 3488 Tour 再次感受到KM的強大

題意 這題自己yy了下,沒想到結論還是對的。題目告訴我們乙個有向圖,現在問將圖中的每乙個點都劃分到乙個環中的最少代價是多少?每條邊都有乙個代價。解法 由於要成環,那麼將這個圖進行拆點,就變成了單向的二分圖了,此時乙個完備匹配就是一種連線策略,只要保證沒有邊是和自己相連,就能夠滿足題目中要求的每個點至...