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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[bzoj3698]XWW的难题——有上下界的最大流

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

題目大意:

XWW是個影響力很大的人,他有很多的追隨者。這些追隨者都想要加入XWW教成為XWW的教徒。但是這并不容易,需要通過XWW的考核。
XWW給你出了這么一個難題:XWW給你一個N*N的正實數矩陣A,滿足XWW性。
稱一個N*N的矩陣滿足XWW性當且僅當:(1)A[N][N]=0;(2)矩陣中每行的最后一個元素等于該行前N-1個數的和;(3)矩陣中每列的最后一個元素等于該列前N-1個數的和。
現在你要給A中的數進行取整操作(可以是上取整或者下取整),使得最后的A矩陣仍然滿足XWW性。同時XWW還要求A中的元素之和盡量大。

思路:

首先這一題的建模還是挺有意思的。每一個點的取值有一個范圍,同時還要要求它們加起來的和要在某一個范圍之內。于是便自然地想到了每一個點為一條流量然后一起流到一個管道里然后這個管道的流量也是有上下界的,模型的大概就這樣建出來了。
但是煩惱了我挺久的就是這題是一個二維矩陣,對于每一個點所代表的流量它既要匯合到它這一橫行,又要匯合到這一豎行,顯然流量是單向流動的,并且流量匯合了之后又不可以重新分開成之前沒匯合的一樣,這里想了我很久。
然后就突然想到,為什么一定要匯合呢?在每一行匯合前每一個格子的流量可以從它的那一列引出來啊,這樣就可以當做是每一列拆開成n?1n?1個流量之后再分別匯到那n?1n?1行去,然后就可以完美地套用有上下界的最大流了。
有上下界的最大流大體上和有上下界的最小流是差不多的,最后的推流只不過是順著推流罷了。

/*============================* Author : ylsoi* Problem : bzoj3698* Algorithm : Max_Flow* Time : 2018.7.29* =========================*/ #include<bits/stdc++.h>#define REP(i,a,b) for(int i=a;i<=b;++i) typedef long long ll;using namespace std;void File(){freopen("bzoj3698.in","r",stdin);freopen("bzoj3698.out","w",stdout); }const int maxn=100+10; const int maxe=1e5+10; const int inf=0x3f3f3f3f; int n,s,t,ss,tt,sumf,ans; int a[maxn][maxn],b[maxn][maxn],c[maxn<<1],sum; int beg[maxn<<1],las[maxe<<1],to[maxe<<1],flow[maxe<<1],cnte=1;void add(int u,int v,int f){las[++cnte]=beg[u]; beg[u]=cnte; to[cnte]=v; flow[cnte]=f;las[++cnte]=beg[v]; beg[v]=cnte; to[cnte]=u; flow[cnte]=0; }struct dinic{int num[maxn<<1],cur[maxn<<1];queue<int>qu;bool bfs(){memset(num,0,sizeof(num));num[ss]=1; qu.push(ss);while(qu.size()){int u=qu.front(); qu.pop();for(int i=beg[u];i;i=las[i]){if(!flow[i] || num[to[i]])continue;num[to[i]]=num[u]+1;qu.push(to[i]);}}return num[tt]!=0;}int dfs(int u,int res){if(u==tt || !res)return res;int ret=0,f;for(int &i=cur[u];i;i=las[i]){if(num[to[i]]!=num[u]+1)continue;if((f=dfs(to[i],min(res,flow[i])))){ret+=f;res-=f;flow[i]-=f;flow[i^1]+=f;}if(!res)break;}return ret;}void work(){while(bfs()){REP(i,ss,tt)cur[i]=beg[i];sumf+=dfs(ss,inf);}} }T;bool init(){scanf("%d",&n);double tmp;REP(i,1,n)REP(j,1,n){scanf("%lf",&tmp);a[i][j]=floor(tmp);b[i][j]=ceil(tmp);if(i==n && j==n && tmp)return false;}REP(i,1,n-1){c[i]+=a[i][n];REP(j,1,n-1)c[i]-=a[i][j];}REP(i,1,n-1){c[i+n-1]-=a[n][i];REP(j,1,n-1)c[i+n-1]+=a[j][i];}s=n*2-1; t=n*2;ss=0; tt=n*2+1;REP(i,1,n-1){add(s,i,b[i][n]-a[i][n]);add(i+n-1,t,b[n][i]-a[n][i]);}REP(i,1,n-1)REP(j,1,n-1)add(i,j+n-1,b[i][j]-a[i][j]);int sum1=0,sum2=0;REP(i,1,n-1){sum1+=a[i][n];sum2+=a[n][i];}add(s,tt,sum1);add(ss,t,sum2);sum+=sum2;REP(i,1,n-1){if(c[i]>0)sum+=c[i];if(c[i]>0)add(ss,i,c[i]);else add(i,tt,-c[i]);if(c[i+n-1]>0)add(ss,i+n-1,c[i+n-1]);else add(i+n-1,tt,-c[i+n-1]);}add(t,s,inf);return true; }int main(){File();if(init()){T.work();if(sum!=sumf){puts("No");return 0;}ans=flow[cnte];sumf=0;beg[ss]=0; beg[tt]=0;beg[t]=las[beg[t]]; beg[s]=las[beg[s]];REP(i,1,2*n)beg[i]=las[beg[i]];add(ss,s,inf); add(t,tt,inf);T.work();printf("%d\n",(ans+sumf)*3);}else puts("No");return 0; }

總結

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

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

主站蜘蛛池模板: 亚洲电影影音先锋 | 国产精品久久久久久久久动漫 | 成人免费视频国产 | 精品国产一区二区三区久久狼黑人 | 1000部国产精品成人观看 | 俄罗斯丰满熟妇hd | 波多野吉衣伦理片 | 亚洲精品77777| 亚洲男女视频在线观看 | 性欧美丰满熟妇xxxx性仙踪林 | 海角社区在线 | www.啪啪.com| 爱操视频| 天堂在线视频免费 | 国产女上位| www..com黄色| 黄色一级片免费播放 | 久久涩视频 | 久久精品色妇熟妇丰满人妻 | 黄色片91 | 欧美激情亚洲综合 | 欧美综合在线一区 | 少妇激情一区二区三区 | 久久久久国产精品区片区无码 | 久久福利免费视频 | 国产熟女高潮一区二区三区 | 免费在线看a | 成人免费无码大片a毛片 | 91av亚洲| 老女人做爰全过程免费的视频 | 黄色大片黄色大片 | 亚洲精品伦理 | 久久亚洲影视 | 国产精品一二三四 | 99成人精品| 夜夜操网站 | 处破痛哭a√18成年片免费 | 无码aⅴ精品一区二区三区 精品久久在线 | 伊人春色网 | 麻豆免费在线观看视频 | 久久午夜网站 | caoporn成人 | 欧美激情91 | 亚洲福利专区 | 国产精品色片 | 91av视频| 久久久成人免费视频 | wwwxx日本| 亚洲三级理论 | 国产婷婷综合 | 激情综合五月 | 在线免费观看黄色 | 99精品久久 | 天天想你免费观看完整版高清电影 | 欧美在线影院 | 黄色国产| 日本一级片免费看 | 意大利少妇愉情理伦片 | 人妻少妇无码精品视频区 | 丁香婷婷久久久综合精品国产 | 欧美日韩啪啪 | 99午夜视频 | 福利影院在线观看 | 亚洲国产精品久久久久婷蜜芽 | 禁漫天堂在线 | 日韩精品一区二区三区不卡在线 | 亚洲男女在线 | 久久伊人一区 | 欧美三级午夜理伦 | 在线视频www| 日本大胆裸体做爰视频 | 欧美xxxxx牲另类人与 | 男人都懂的网址 | 亚洲精品乱码久久 | 一区二区三区免费 | 欧美黄色录像片 | 精品人妻一区二区三区浪潮在线 | 女同vk| 日韩精品高清视频 | 韩国三级中文字幕hd久久精品 | 性色av一区二区三区在线观看 | 越南黄色一级片 | 成人免费视频网站在线观看 | 色妞在线| 亚洲伊人精品 | 欧美一区二区三区在线观看视频 | 女人被男人躁得好爽免费视频 | 韩国午夜影院 | 黄色中文字幕 | 亚洲视频综合网 | 女人又爽又黄免费女仆 | 潘金莲一级淫片aaaaaa播放 | 久久久香蕉 | 国产黄av | 中文字幕亚洲无线码在线一区 | 日韩欧美亚洲视频 | 他揉捏她两乳不停呻吟动态图 | 国产午夜无码视频在线观看 | 国产精品毛片久久久久久久av |