題意
n個巫師, m個魔杖,求最大匹配
思路:二分圖 求最大匹配
ac**:
/*
求 n ,m 的最大匹配 */
#include#include#include#include#include#includeusing namespace std;
const int maxn = 105;
bool used[maxn];
int match[maxn];
vectorg[maxn + 5];
int n, m;
// 找增廣路
/* 過程 就是 集合a中的某點, 到集合b中的某點 是否有增廣路
有的意思就是說,可以形成新的匹配,
沒有就是會說:這個點 到另乙個點 無法形成匹配然後換集合b中的點
b中的點全換完 也沒有找到增廣路,那a中這個點 就沒有匹配。
*/bool find(int x)
} }return false;
}int main ()
} int ans = 0;
for (int i = 1; i <= m; ++i)
}printf("%d\n", ans);
} return 0;
}
HDU 2819 最大匹配
這個題就是給你乙個只含有0和1的矩陣,問你能否通過行列交換使得對角線上的元素全為1,首先需要注意的是我們僅通過行交換或者列交換就可以使得矩陣滿足條件,然後我們將行和列看成點,矩陣中1的元素看成邊,建立乙個有向圖,求出行列的最大匹配數,即可。如下 include using namespace std...
hdu 4619 最大匹配問題
思路 把所有涉及到的點按 x y 的奇偶分成兩部分點,對所有的1 2的骨牌,都有 x y 為偶數的建到奇數的邊。求一次最大匹配,就是答案。include include include include include define maxn 2010 using namespace std intm...
1179 最大的最大公約數
1179 最大的最大公約數 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 給出n個正整數,找出n個數兩兩之間最大公約數的最大值。例如 n 4,4個數為 9 15 25 16,兩兩之間最大公約數的最大值是15同25的最大公約數5。input 第1行 乙個數n,表示...