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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[bzoj3698]XWW的难题

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [bzoj3698]XWW的难题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

有源匯上下界最大流,建模很經典,將每行和每列看做一個點,然后去按照有源匯上下界建圖就行了,因為這個題,我又發現了自己網絡流板子里的一個錯誤寫法,bfs的時候得增廣完再退出,改了我半個小時。。。

#include<cstdio> #include<queue> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define rg register void read(int &x) {char ch; bool ok;for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1;for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x; } queue<int>q;int cnt=1,n,s,t,ans,inf=2e9,ss,sum,tt,dis[10001],in[10001],nxt[20001],pre[20001],h[10001],v[20001],cur[10001];double a[101][101]; inline void add(int x,int y,int z) {pre[++cnt]=y,nxt[cnt]=h[x],h[x]=cnt,v[cnt]=z;pre[++cnt]=x,nxt[cnt]=h[y],h[y]=cnt,v[cnt]=0; } inline bool bfs(int s,int t) {memset(dis,0,sizeof dis);q.push(s),dis[s]=1;while(!q.empty()){int x=q.front();q.pop();for(rg int i=h[x];i;i=nxt[i])if(v[i]&&!dis[pre[i]])dis[pre[i]]=dis[x]+1,q.push(pre[i]);}return dis[t]; } inline int dfs(int x,int flow,int t) {if(x==t||!flow)return flow;int f=flow;for(rg int &i=cur[x];i;i=nxt[i])if(v[i]&&dis[pre[i]]==dis[x]+1){int y=dfs(pre[i],min(v[i],f),t);f-=y,v[i]-=y,v[i^1]+=y;if(!f)return flow;}if(flow==f)dis[x]=-1;return flow-f; } int main() {scanf("%d",&n),s=0,t=2*n+1,ss=t+1,tt=ss+1;for(rg int i=1;i<=n;i++)for(rg int j=1;j<=n;j++)scanf("%lf",&a[i][j]);for(rg int i=1;i<n;i++)for(rg int j=1;j<n;j++){if(a[i][j]!=(int)a[i][j])add(i,j+n,1);in[i]-=(int)a[i][j],in[j+n]+=(int)a[i][j];}for(rg int i=1;i<n;i++){if(a[i][n]!=(int)a[i][n])add(s,i,1);in[i]+=(int)a[i][n],in[s]-=(int)a[i][n];}for(rg int i=1;i<n;i++){if(a[n][i]!=(int)a[n][i])add(i+n,t,1);in[t]+=(int)a[n][i],in[i+n]-=(int)a[n][i];}for(rg int i=0;i<=t;i++){if(in[i]>0)add(ss,i,in[i]),sum+=in[i];if(in[i]<0)add(i,tt,-in[i]);}add(t,s,inf);for(;bfs(ss,tt);ans+=dfs(ss,inf,tt))memcpy(cur,h,sizeof cur);if(sum!=ans){printf("No\n");return 0;}for(int i=h[ss];i;i=nxt[i])v[i]=v[i^1]=0;for(int i=h[tt];i;i=nxt[i])v[i]=v[i^1]=0;ans=0;for(;bfs(s,t);ans+=dfs(s,inf,t))memcpy(cur,h,sizeof cur);printf("%d\n",3*ans); }

轉載于:https://www.cnblogs.com/lcxer/p/10224325.html

總結

以上是生活随笔為你收集整理的[bzoj3698]XWW的难题的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 台湾chinesehdxxxx少妇 | 日韩经典一区二区 | 日日干夜夜爽 | 精品人妻人伦一区二区有限公司 | 毛片大片 | 天天射寡妇 | 日日躁夜夜躁狠狠久久av | 黑花全肉高h湿play短篇 | 美女激情网站 | 欧美午夜精品久久久久久浪潮 | 欧美日本不卡 | 亚洲网站在线 | 欧美日韩在线免费播放 | a视频免费看 | 国产999精品 | 色婷婷综合久久久久中文字幕 | 国产精品一区二区三区免费观看 | 一区二区三区免费看 | www.色哟哟| 日本啪啪啪一区二区 | 性爽爽 | 精品欧美 | 成年人香蕉视频 | 国产视频一区二区三区四区五区 | 中文字幕在线一区二区三区 | 日日影院| 人与禽性7777777 | 国产一区二区三区亚洲 | 自拍偷拍色综合 | 国产欧美一区二区精品性色 | 国产精品久久久久久久久久久久久久久久久 | 毛片动态图 | va在线播放 | 91网在线 | av无码一区二区三区 | 国产一区二区三区四区在线观看 | 少妇日b| 国产视频福利 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 亚洲区免费 | 香蕉综合在线 | 日本a级c片免费看三区 | 黑色丝袜吻戏亲胸摸腿 | 国产精品xxxx喷水欧美 | 超碰夜夜 | 毛片.com | 成色网| 在线观看aaa| 久久久久久久久久久久久久av | 一本久草 | 少妇又紧又色又爽又刺激 | 国产98在线 | 毛片大片| 国产精品欧美激情在线 | 国产精品伊人久久 | 国产精品9 | 嫩草视频在线观看 | 风间由美一区 | 欧洲精品视频在线观看 | 成年男女免费视频 | 天天爽影院 | 久久96视频 | 国产丝袜视频在线 | 亚洲乱妇老熟女爽到高潮的片 | 波多野结衣免费观看视频 | 亚洲污视频 | 超碰免费在线观看 | 免费操片| 男生草女生的视频 | 91丨porny丨在线 | 香蕉视频黄色在线观看 | 国产在线观看精品 | 久操视频在线观看 | 成人国产精品蜜柚视频 | √天堂8资源中文在线 | 久操免费在线视频 | 神马国产 | 日韩操操操 | 欧美一级黄色片视频 | 伊伊成人网 | 国产成人无码一区二区在线观看 | 亚欧综合在线 | 99re6热在线精品视频播放 | 国产亚洲精品女人久久久久久 | 91在线看片 | 芒果视频在线观看免费 | 中国一级片在线观看 | 成人av一级 | 国产一区二区三区在线 | 国产精品又黄又爽又色无遮挡 | 国产精品91在线观看 | 大黑人交xxx极品hd | 欧美在线亚洲 | 国产欧美一区二区三区国产幕精品 | 久久精品人妻av一区二区三区 | 亚洲美女av在线 | 亚洲伦理影院 | аⅴ资源新版在线天堂 | 羞辱狗奴的句子有哪些 |