hdu2255二分最優匹配KM標準模板

2022-09-03 16:18:15 字數 878 閱讀 1098

其實與今天做的強連通那倒模板題一樣,**不能完全理解,到學會了如何判斷是否能用km模板來做,而且也學會了套用km模板來ac了,但是原理卻還是不太清楚,果然還是要繼續慢慢想明白才行啊,先貼出模板吧,明天再做一下km,繼續理解下去。

**:

#include#include#include#includeusing namespace std;

#define clr(arr, what) memset(arr, what, sizeof(arr))

#define maxn  305

#define inf  (1<<30)-1

int g[maxn][maxn];

int lx[maxn],ly[maxn],match[maxn];

bool visx[maxn],visy[maxn];

int slack[maxn];

int n,m;

bool dfs(int cur)

}else if(slack[y]>t)

}return false;

}int km()

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

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

for(int i=1;i<=m;i++)}}

int result = 0;

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

if(match[i]!=-1)

result += g[match[i]][i];

return result;

}int main()

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

*/printf("%d\n",km());

}return 0;

}

HDU2255二分匹配最大權值

傳說在遙遠的地方有乙個非常富裕的村落,有一天,村長決定進行制度改革 重新分配房子。這可是一件大事,關係到人民的住房問題啊。村里共有n間房間,剛好有n家老百姓,考慮到每家都要有房住 如果有老百姓沒房子住的話,容易引起不安定因素 每家必須分配到一間房子且只能得到一間房子。另一方面,村長和另外的村領導希望...

hdu 2255 奔小康賺大錢 最大權匹配KM

傳說在遙遠的地方有乙個非常富裕的村落,有一天,村長決定進行制度改革 重新分配房子。這可是一件大事,關係到人民的住房問題啊。村里共有n間房間,剛好有n家老百姓,考慮到每家都要有房住 如果有老百姓沒房子住的話,容易引起不安定因素 每家必須分配到一間房子且只能得到一間房子。另一方面,村長和另外的村領導希望...

hdu2255 奔小康賺大錢,最大權匹配,KM演算法

點選開啟鏈結 最大權匹配 km演算法 演算法步驟 設頂點xi的頂標為a i 頂點yi的頂標為b i 初始時。a i 為與xi相關聯的邊的最大權值。b j 0。保證a i b j w i,j 成立 當相等子圖中不包括完備匹配時,就適當改動頂標以擴大相等子圖,直到找到完備匹配為止 改動頂標的方法 當從x...