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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ 2744: [HEOI2012]朋友圈

發布時間:2025/4/9 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ 2744: [HEOI2012]朋友圈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

解題思路

直接跑最大團洛谷上能得70分,驚了。說說正解,首先A國的必須xor后mod2余1,就相當于兩個人必須是1奇1偶,所以A國的人只能選0,1,2個,我們可以暴力枚舉選誰。繼續考慮B國,現在的問題實際上就簡化為了在B國中選出一個最大團,這個團也必須和A國所選出的人是朋友,又因為最大團=總點數-補圖的最大匹配,補圖就是將原來連著的邊斷了,原來沒連的邊連上,而進一步可以發現其實B國的補圖是一個二分圖,左部點是%2余1的,右部點是%2余0的,如果它們或起來有偶數個1就可以連邊,然后就是二分圖中求一個最大匹配,我用的匈牙利卡了過去。。

代碼

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib>using namespace std; const int MAXN = 3205; const int MAXM = 1500*1500+5;inline int rd(){int x=0,f=1;char ch=getchar();while(!isdigit(ch)) {f=ch=='-'?0:1;ch=getchar();}while(isdigit(ch)) {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return f?x:-x; }int T,A,B,M,head[MAXM],cnt,ans; int to[MAXM],nxt[MAXM],now; int a[MAXN],b[MAXN],e[MAXN][MAXN]; int num,t,vis[MAXN],flag[MAXN],match[MAXN];inline void add(int bg,int ed){to[++cnt]=ed,nxt[cnt]=head[bg],head[bg]=cnt; }inline bool dfs(int x){for(register int i=head[x];i;i=nxt[i]){int u=to[i];if(vis[u]!=num && flag[u]==t){vis[u]=num;if(!match[u] || dfs(match[u])){match[u]=x;return true;}}}return false; }int main(){ // T=rd(); A=rd();B=rd();M=rd();for(register int i=1;i<=A;i++) a[i]=rd();for(register int i=1;i<=B;i++) b[i]=rd();for(register int i=1;i<=B;i++)if((b[i]&1))for(register int j=1;j<=B;j++) if(!(b[j]&1) && !((__builtin_popcount((b[i]|b[j])))&1)) add(i,j);for(register int i=1;i<=M;i++) {int x=rd(),y=rd();e[x][y+A]=e[y+A][x]=1;}for(register int i=1;i<=B;i++)if((b[i]&1)){num++;if(dfs(i)) ans++;}ans=B-ans;for(register int i=1;i<=A;i++){t++;int sum=0;now=0;memset(match,0,sizeof(match));for(register int j=1;j<=B;j++)if(e[i][j+A]) flag[j]=t,now++; for(register int j=1;j<=B;j++)if(flag[j]==t && (b[j]&1)) {num++;if(dfs(j)) sum++; }ans=max(ans,now-sum+1);}for(register int i=1;i<=A;i++)for(register int j=i+1;j<=A;j++)if((a[i]^a[j])&1){memset(match,0,sizeof(match));t++;int sum=0;now=0;for(register int k=1;k<=B;k++)if(e[i][k+A] && e[j][k+A]) flag[k]=t,now++;for(register int k=1;k<=B;k++)if(flag[k]==t && (b[k]&1)) {num++;if(dfs(k)) sum++;}ans=max(ans,now-sum+2);}cout<<ans<<endl;return 0; }

轉載于:https://www.cnblogs.com/sdfzsyq/p/9676855.html

總結

以上是生活随笔為你收集整理的BZOJ 2744: [HEOI2012]朋友圈的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 视频区图片区小说区 | 精品无码久久久久国产 | 日韩欧美中文字幕一区二区三区 | 护士的小嫩嫩好紧好爽 | 另类毛片| 亚洲欧美日韩专区 | 黄色在线观看网站 | 少妇一级淫免费播放 | 国产精品99久久久久久www | 天天射天天操天天干 | 先锋影音亚洲 | 欧美一区二区三区啪啪 | 成年人网站在线免费观看 | 国产精品黄色在线观看 | 欧美日韩国产在线一区 | 国产精品无码免费在线观看 | 国产乱码精品一区二区三区不卡 | 伊是香蕉大人久久 | 日韩精品在线一区 | 不卡视频免费在线观看 | 小蝌蚪视频色 | 国产一区二区三区 | 国产草草草 | 91看大片| 88久久精品无码一区二区毛片 | 久久精品视频网站 | 五月婷婷综合在线 | 国产中文字幕在线 | 黄视频在线| 91综合视频 | 久久久精品免费视频 | 国产精品久久777777毛茸茸 | 在线观看sm | 69堂免费视频 | 欧美黑人一区二区 | 国产精品久久不卡 | 欧美顶级毛片在线播放 | 一区二区在线免费看 | 黄视频网站在线 | 中文字幕第一页亚洲 | 亚洲天堂avav| 日本一区二区三区中文字幕 | 久久橹| 狠狠撸视频 | 日日操网 | 午夜偷拍视频 | 日本女人黄色片 | 久久综合色88 | 日本一区视频在线播放 | 五月婷婷开心网 | 中文字幕免费看 | 久久偷看各类wc女厕嘘嘘偷窃 | 雨宫琴音一区二区三区 | 日本人妻不卡一区二区三区中文字幕 | 女人脱下裤子让男人捅 | 亚洲综合色网 | 秋霞影院午夜丰满少妇在线视频 | 蜜桃臀aⅴ精品一区二区三区 | 日本欧美一区二区 | 亚洲一区二区三区91 | 精品视频在线一区二区 | 茄子视频懂你更多在线观看 | 日本特黄色片 | 国产精品一区二区自拍 | 伊人福利| 久久黄色网络 | 亚洲第二色 | 久久影视一区 | 国产三级精品在线观看 | 五月婷婷久久久 | 一区二区高潮 | 森泽佳奈中文字幕 | www.爱操| 窝窝视频在线 | 黄色网www| 自拍偷自拍亚洲精品播放 | 欧美一区二区视频免费观看 | 九一国产视频 | 美女靠逼app | 欧美另类xxxx| 欧美性网址 | 空姐毛片| 中文字幕第80页 | av毛片在线免费观看 | 91激情在线观看 | www射 | 青青草原成人 | 国产精品蜜臀av | 亚洲国产免费看 | 尤物视频网站在线观看 | 久久久久久国产精品三级玉女聊斋 | 欧美一区二区网站 | 午夜久久久久久久久久 | 调教撅屁股啪调教打臀缝av | 亚洲第9页 | 男人免费视频 | 中文国语毛片高清视频 | 偷拍亚洲色图 | 亚洲久爱|