日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P2055-假期的宿舍【网络流,最大流,最大匹配】

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P2055-假期的宿舍【网络流,最大流,最大匹配】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

鏈接:
https://www.luogu.org/record/show?rid=7930976


大意

有n個人,有的在學校有床有的沒有,有的在家有的沒有。現在如果有人回家了那么他就會去看望他的朋友,回家的就會空出自己的床位。每個人可以睡和自己是直接朋友關系或自己的床,要求給本來有床的并且不在家的和來看望其的朋友分配床位。


解題思路

將人和床建立二分圖,我們假設每個在家的人都有床,這樣不用看望朋友的就可以睡自己床,然后將除了沒有床且不再家的人都作為左邊點,然后將在學校的床作為右邊點進行最大匹配。


代碼

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct line{int to,next,w; }a[10010]; int n,m,x,y,d[110],tot,state[110],school[110],num; int head,tail,ls[110],s,e,ans,t,home[110],nn,qn; bool ok[110],lxx[110][110]; void addl(int x,int y,int w) {a[tot].to=y;a[tot].next=ls[x];a[tot].w=w;ls[x]=tot++;a[tot].to=x;a[tot].next=ls[y];a[tot].w=0;ls[y]=tot++; } bool bfs() {head=0;tail=1;memset(d,-1,sizeof(d));d[s]=0;state[1]=s;do{head++;int x=state[head];for (int q=ls[x];q;q=a[q].next){int y=a[q].to;if (a[q].w>0 && d[y]==-1){d[y]=d[x]+1;state[++tail]=y;if (y==e) return true;}}}while (head<tail);return false; } int dinic(int x,int flow) {int rest=0,k;if (x==e) return flow;for (int q=ls[x];q;q=a[q].next){int y=a[q].to;if (a[q].w>0 && d[y]==d[x]+1){rest+=(k=dinic(y,min(a[q].w,flow-rest)));a[q].w-=k;a[q^1].w+=k;if (rest==flow) return flow;}}if (!rest) d[x]=0;return rest; } int main() {scanf("%d",&t);for (int ti=1;ti<=t;ti++){memset(ls,0,sizeof(ls));e=105;s=104;tot=2;num=0;scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d",&school[i]);if(school[i]) addl(i+n,e,1);//床}for (int i=1;i<=n;i++){scanf("%d",&home[i]);if (!school[i]||(school[i]&&!home[i])) addl(s,i,1),num++;//需要匹配的人}for (int i=1;i<=n;i++){for (int j=1;j<=n;j++){scanf("%d",&x);if (x||i==j)addl(i,j+n,1);//和自己或直接朋友的床匹配}}ans=0;while (bfs()) ans+=dinic(s,2147483647);if (ans==num) printf("^_^\n");else printf("T_T\n");} }

小技巧

其實有些時候可以將本來不需要的在其他地方分配掉可能可以降低難度

總結

以上是生活随笔為你收集整理的P2055-假期的宿舍【网络流,最大流,最大匹配】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品乱码 | 蜜桃视频无码区在线观看 | a级黄色小说 | av大片免费看 | 国产午夜无码视频在线观看 | 欧美tickle狂笑裸体vk | 在线观看涩涩 | 国产免费激情视频 | 亚洲女人天堂成人av在线 | 国产青草视频在线观看 | 国产精品1234区 | 国产伦精品一区二区三区免费迷 | 欧美日韩一区二区三区在线电影 | 午夜激情一区 | 日韩av大片在线观看 | 亚洲电影影音先锋 | 久久久国产成人一区二区三区 | 黄网视频在线观看 | 在线永久看片免费的视频 | 成人午夜性视频 | 无码国产色欲xxxx视频 | 香蕉久久久久 | 天天天干干干 | 婷婷麻豆 | 中文字幕精品在线观看 | 黄色小视频在线看 | 亚洲骚片 | 欧美黑人精品一区二区不卡 | 人妻换人妻a片爽麻豆 | 国产一区二区三区影视 | 日韩中出 | 男女做的视频 | 欧美日本在线观看 | 欧美国产日韩视频 | 欧美久久久久久久久久久 | 在线播放毛片 | 国产高清一区 | 97在线观看视频 | 国产一区二区视频在线 | 亚洲一级av毛片 | 国语精品久久 | 日本美女三级 | 欧美午夜剧场 | 永久免费黄色片 | 色老头一区二区三区在线观看 | 95香蕉视频 | 国产欧美在线观看视频 | 最近免费中文字幕大全免费版视频 | 国产在线欧美在线 | 久久精彩| 蜜臀久久精品久久久用户群体 | 伊人色综合网 | av大全免费观看 | 国产精品久久久久久久久久小说 | ass大乳尤物肉体pics | 欧美性生交大片免费看app麻豆 | 欧美a级在线免费观看 | 中文字幕――色哟哟 | 亚洲伦理一区 | 亚洲第一av在线 | 一区二区三区四区免费 | 九一国产精品 | 天天干,天天操,天天射 | 男女性生活视频网站 | 亚洲精品无人区 | 中文字字幕码一二三区 | 国产精品久久9 | 日本女人hd | 精品一区二区久久久久久按摩 | 男女啪啪国产 | 五月婷婷开心中文字幕 | 亚洲深夜福利 | 欧美a天堂 | 黄色小说网站在线观看 | 欧美日韩影院 | 黄色av大全 | 麻豆国产尤物av尤物在线观看 | 精品热久久 | 东京热av一区 | 四虎视频国产精品免费 | 亲切的金子餐桌片段的金子 | 国产肥白大熟妇bbbb视频 | 久草视频在线资源站 | 午夜影院在线观看免费 | 亚洲精品字幕在线观看 | 欧美日韩国产图片 | 臭脚猛1s民工调教奴粗口视频 | 91免费版视频 | 正在播放超嫩在线播放 | 一级片免费观看视频 | 极品美女无套呻吟啪啪 | 狐狸视频污 | 人妖干美女 | 超碰在线网址 | 久久精品国产99 | 黄色xxxxxx| 在线免费 | 色资源av| 在线观看网站污 |