月老的難題&&二分圖最大匹配模板&&http://acm.nyist.net/JudgeOnline/problem.php?pid=239
二分圖最大匹配:用鄰接矩陣超時,需要用鄰接表;
#include<cstdio>
#include<algorithm>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<vector>
using namespace std;
const int N=512;
bool chk[N];
vector<int>vis[N];
int n;
int xM[N],yM[N];
bool SearchPath(int u)
{
int dd=vis[u].size(),yy;
for(int v=0;v<dd;v++)
{yy=vis[u][v];
if(!chk[yy])
{
chk[yy] = true;
if(yM[yy] == -1 || SearchPath(yM[yy]))
{
yM[yy]=u;
xM[u]=yy;
return true;
}
}
}
return false;
}
int MaxMatch()
{
int ret=0;
memset(xM,-1,sizeof(xM));
memset(yM,-1,sizeof(yM));
for(int u=1;u<=n;u++)
{
if(xM[u]==-1)
{
memset(chk,false,sizeof(chk));
if(SearchPath(u))
ret++;
}
}
return ret;
}
int main()
{
int t,k,u,v;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
memset(chk,false,sizeof(chk));
for(int i=0;i<N;i++)
vis[i].clear();
//memset(vis,false,sizeof(vis));
for(int i=1;i<=k;i++)
{
scanf("%d%d",&u,&v);
vis[u].push_back(v);
//vis[v].push_back(u);
}
printf("%d\n",MaxMatch());
}
return 0;
}
相關文章
- 《啊哈!演算法》我要做月老 ——二分圖最大匹配演算法
- 二分圖最大匹配問題匈牙利演算法演算法
- 二分圖的最大匹配、完美匹配和匈牙利演算法演算法
- 二分圖的最大匹配的匈牙利演算法演算法
- hdu5090 匈牙利演算法二分圖最大匹配問題演算法
- HDU 2063 匈牙利演算法二分圖的最大匹配演算法
- hihocoder 1158 質數相關(二分圖匹配 最大獨立集)
- 對匈牙利演算法理解——對二分圖進行最大匹配的演算法演算法
- 演算法學習之路|二分圖的最大匹配—匈牙利演算法(Dfs實現)演算法
- KM演算法——二分圖的最佳匹配演算法
- 軟體工程的最大難題軟體工程
- POJ - 3041 Asteroids 【二分圖匹配】AST
- 匈牙利演算法模板(二分圖)演算法
- 二分查詢基礎專題——二分模板
- 模板匹配
- POJ 3041-Asteroids(二分圖匹配)AST
- poj2400 KM演算法二分圖的完美匹配演算法
- 詳解匈牙利演算法與二分圖匹配演算法
- 求二部圖最大匹配的匈牙利演算法演算法
- 二分圖(例題)
- hdu2255 二分圖的最佳匹配 KM演算法演算法
- leetcode解題模板 —— 二分查詢LeetCode
- 模板匹配(matlab)Matlab
- POJ 1325-Machine Schedule(二分圖匹配-匈牙利演算法)Mac演算法
- LeetCode 239. 滑動視窗最大值LeetCode
- leetcode410分割陣列的最大值(二分+貪心,困難)LeetCode陣列
- Uva11383 二分圖的完美匹配(深入理解KM演算法)演算法
- Hetao P1156 最大戰力 題解 [ 綠 ][ 二分 ][ 最大子段和 ]
- POJ 1469-COURSES(二分圖匹配入門-匈牙利演算法)演算法
- python二分查詢模板Python
- 二分查詢-不套用模板
- Atitit opencv模板匹配attilax總結OpenCV
- 一些“二分圖染色”板題
- meiqua / shape_based_matching---模板匹配速度過慢問題
- BZOJ 1059 [ZJOI2007]矩陣遊戲:二分圖匹配矩陣遊戲
- 十分好用的二分查詢模板 手撕二分還怕嗎?
- 二分圖(Java)Java
- bzoj4554: [Tjoi2016&Heoi2016]遊戲(二分圖匹配)遊戲