假期的宿舍
二分圖匹配(最大流)
做到candy(這道題,用a*寫了半天tle了,去網上搜題解,都是網路流的做法。問艾神用搜尋做該怎麼剪枝,艾神說他寫的書上有講很多剪枝策略,然而最快三天後書才能到....,所以就先試試網路流了。 之前沒怎麼接觸過網路流,看了半天才看懂一些,於是就拿這題入門了。
這題是二分圖匹配的入門題,將留校的同學和看望的同學作為乙個點集,將本校生(床)作為另乙個點集,並根據關係矩陣進行連線。(init的時候沒把vector清了,簡直智障...)
**如下:
1 #include2 #include3 #include4 #include5#define met(a,b) memset(a,b,sizeof(a));
6#define n 55
7using
namespace
std;
8int match[2*n];
9bool used[2*n];
10int
home[n];
11int
bed[n];
12int
mp[n][n];
13 vectore[2*n];
14int
t,n,sum,person;
15void
init()
21bool dfs(int
v)30}31
return0;
32}33int main(void)55
}56/*----最大匹配----
*/57
for(int i=0;i<2*n;++i)
58if(match[i]<0)63
if(sum==person)printf("
%c%c%c\n
",94,95,94
);64
else printf("
%c%c%c\n
",84,95,84
);65
}66 }
假期的宿舍 C
題目描述 學校放假了 有些同學回家了,而有些同學則有以前的好朋友來探訪,那麼住宿就是乙個問題。比如 a 和 b 都是學校的學生,a 要回家,而 c 來看b,c 與 a 不認識。我們假設每個人只能睡和自己直接認識的人的床。那麼乙個解決方案就是 b 睡 a 的床而 c 睡 b 的床。而實際情況可能非常複...
BZOJ1433假期的宿舍
1433 zjoi2009 假期的宿舍 對於30 的資料滿足1 n 12。對於100 的資料滿足1 n 50,1 t 20。請原諒我沒有1a。首先多組資料,每次需要memset。然後建圖的問題。讀入的矩陣如果是1或者i j,就把i向j n連邊。流量為1 在校的向源點連邊。需要床位的向匯點連邊。記錄一...
洛谷 2055 假期的宿舍
好久不更新啦2333本著更新也沒人看的原則我來更新一下 題目描述 學校放假了 有些同學回家了,而有些同學則有以前的好朋友來探訪,那麼住宿就是乙個問題。比如 a 和 b 都是學校的學生,a 要回家,而 c 來看b,c 與 a 不認識。我們假設每個人只能睡和自己直接認識的人的床。那麼乙個解決方案就是 b...