假期的宿舍

2022-08-04 19:03:22 字數 1035 閱讀 9074

假期的宿舍

二分圖匹配(最大流)

做到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...