點這裡
題意:n個學生和p個課程,要求每個課程都有乙個對應的課代表,並且乙個學生只能擔任乙個課代表。如果這個最大匹配等於學生人數,則輸出yes,否則輸出no。
題解:就是乙個最大匹配的裸題,題目看懂就能直接套模板,不會寫的應該是模板不會用,建議先去學好匈牙利演算法。
過程中犯的錯:
#include
using
namespace std;
const
int n =
610;
int t, n, p, k, x;
int vis[n]
, match[n]
;vector<
int> v[n]
;bool
dfs(
int u)}}
return
false;}
intmain()
}int sum =0;
for(
int i =
1; i <= n; i++)if
(sum == n)
printf
("yes\n");
else
printf
("no\n");
}return0;
}
HDU 1083 二分匹配 Courses
分析 從第乙個學生開始,先假定他任某一門課的課代表,然後再看第二個學生有沒有選的,如果第二個學生他所學的課都有人預定了,那再看預定這些課的那些學生,如果他們之間有人還可以選其他的課,則讓那個人選其他的,讓第二個人預定那個人以前定的那門課,以些類推,最後看每門課是否都有人選 這就就答案了 includ...
hdu 5017 模擬退火求最值
題意 給乙個橢圓 然後求原點到這個橢圓距離最小的點的距離是多少。解析 依舊用模擬退火。修改了乙個地方,初始溫度從100改到了1,就行了。之前的也修改了。選z的時候,選離遠點近的那個點就行了。pragma comment linker,stack 1677721600 include include ...
hdu 2795 找區間最值的位置
題目很好理解 我只寫了兩種一種是update和query合併的線段樹是參考的。還有是分開的最開始寫的 本來想寫樹狀陣列的但是一下子真沒想到區間最值的更新位置怎麼弄就先緩緩吧。希望有大牛可以指點 include include using namespace std define lson l m r...