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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

太空飞行计划 网络流

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 太空飞行计划 网络流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經典的最大權閉合子圖問題;

這種問題的求解思路是:

建圖:將s連邊向權值為正的點,通過依賴關系連接權值為正的點和權值為負的點,權值為負的點連邊向t;

求c=最小割,a=所有權值為正的節點權值和,ans=a-c;

證明過程網上是有的;

用dinic敲的,但是用的還不熟練;

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cstdlib> 6 #include<ctime> 7 #include<algorithm> 8 using namespace std; 9 const int maxn=200; 10 const int inf=1000000000; 11 const int s=0,t=120; 12 struct node{ 13 int y,next,flow,re; 14 }e[maxn*10]; 15 int linkk[maxn],len=0,n,m,g[maxn][maxn],cnt[maxn],w[maxn],sum=0; 16 void print(int x){printf("%d\n",x);} 17 void print(int x,int y){printf("%d %d\n",x,y);} 18 void insert(int x,int y,int flow){ 19 e[++len].y=y;e[len].flow=flow; 20 e[len].next=linkk[x];linkk[x]=len;e[len].re=len+1; 21 e[++len].y=x;e[len].flow=0; 22 e[len].next=linkk[y];linkk[y]=len;e[len].re=len-1; 23 } 24 bool flag=0; 25 int read(){ 26 int x=0;char ch=getchar(); 27 while(ch<'0'||ch>'9')ch=getchar(); 28 while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} 29 if(ch=='\n')flag=1; 30 return x; 31 } 32 void init(){ 33 scanf("%d%d",&n,&m); 34 int v; 35 for(int i=1;i<=n;i++){ 36 scanf("%d",&v);insert(s,i,v); 37 flag=0;sum+=v; 38 while(!flag){cnt[i]++;g[i][cnt[i]]=read();} 39 } 40 for(int i=1;i<=m;i++)scanf("%d",&w[i]); 41 for(int i=1;i<=n;i++) 42 for(int j=1;j<=cnt[i];j++) 43 insert(i,g[i][j]+n,inf); 44 for(int i=1;i<=m;i++)insert(i+n,t,w[i]); 45 } 46 int q[maxn],tail=0,level[maxn],head=0; 47 bool bfs(){ 48 memset(level,-1,sizeof(level)); 49 head=0;tail=0;level[s]=1;q[++tail]=s; 50 while(++head<=tail){ 51 int x=q[head]; 52 for(int i=linkk[x];i;i=e[i].next){ 53 if(level[e[i].y]==-1&&e[i].flow){ 54 q[++tail]=e[i].y; 55 level[e[i].y]=level[x]+1; 56 } 57 } 58 } 59 return level[t]>0; 60 } 61 int find(int x,int flow){ 62 if(x==t)return flow; 63 int maxflow=0,d=0; 64 for(int i=linkk[x];i&&maxflow<flow;i=e[i].next){ 65 if(level[e[i].y]==level[x]+1&&e[i].flow){ 66 if(d=find(e[i].y,min(flow-maxflow,e[i].flow))){ 67 maxflow+=d; 68 e[i].flow-=d; 69 e[e[i].re].flow+=d; 70 } 71 } 72 } 73 if(!maxflow)level[x]=-1; 74 return maxflow; 75 } 76 void work(){ 77 int d=0,ans=0; 78 while(bfs()) 79 while(d=find(s,inf)) 80 ans+=d; 81 cout<<sum-ans<<endl; 82 } 83 int main(){ 84 //freopen("1.in","r",stdin); 85 //freopen("1.out","w",stdout); 86 init(); 87 work(); 88 } View Code

?

轉載于:https://www.cnblogs.com/chadinblog/p/5861607.html

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的太空飞行计划 网络流的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美日韩亚洲一区二区三区 | 99久久精品免费看国产四区 | 波多在线视频 | 邻居少妇张开腿让我爽了在线观看 | 国产色在线 | 亚洲午夜天堂 | 午夜影院污| 伊人久久久久久久久 | 精品一区二区视频 | av网站免费看 | 涩天堂 | 亚洲综合三区 | 亚洲黄色成人 | 九九热在线视频播放 | 久久久久亚洲日日精品 | 色图自拍偷拍 | 91插插插影库永久免费 | 欧美xxxxxxxxx | 日剧再来一次第十集 | 国产夫妻在线观看 | 欧美人体一区二区三区 | 精品黄色一级片 | 国产精品色婷婷99久久精品 | 黄色在线网 | 黄a毛片| 貂蝉被到爽流白浆在线观看 | 亚洲视频在线播放 | 91超碰国产在线 | 精品少妇久久 | 一本一道久久a久久综合蜜桃 | 日本福利一区二区 | 亚洲一区天堂 | 桃色一区| 久久免费视频6 | 免费激情小视频 | 欧洲av在线播放 | 天天躁日日摸久久久精品 | 亚洲色图丝袜美腿 | 五月色婷 | 97人人精品 | 草比网站 | 亚洲视频在线观看一区二区 | 国产欧美日韩综合 | 精品熟妇一区二区三区 | 亚洲尹人 | 日本毛片网站 | 99er在线| 国产午夜手机精彩视频 | 久草视频观看 | jizz日本视频| av大片在线播放 | 国产成人综合欧美精品久久 | 精品人人| 欧美在线免费看 | 成人一级在线 | 亚洲网站免费看 | 一区二区三区小视频 | 黄色av毛片 | 亚洲无吗在线观看 | 日韩全黄 | 少妇精品无码一区二区免费视频 | 国产ts三人妖大战直男 | 亚洲精品第三页 | 亚洲最大成人网色 | 狠狠干天天 | 饥渴少妇色诱水电工 | 成人免费性生活视频 | 日本少妇色| 一区二区三区高清 | 日韩精品免费看 | 91色网站 | 国产绿帽一区二区三区 | 中文字幕精品一区二区三区精品 | 岛国成人在线 | 亚洲欧美国产精品久久久久久久 | 久久人人爽人人人人片 | 好吊视频一二三区 | 亚洲国产99 | 91啪国产| 日韩精品h | 亚洲精品成人片在线观看精品字幕 | 韩国av免费在线 | 麻豆蜜臀 | 午夜日韩电影 | 双性尿奴穿贞c带憋尿 | 久久黄色大片 | 日韩在线精品强乱中文字幕 | 成年人在线免费观看网站 | 精品人妻伦一二三区免费 | 亚州欧美在线 | 美丽姑娘免费观看在线观看 | 久久久精品免费看 | 致单身男女免费观看完整版 | 91美女视频在线观看 | 日本欧美不卡 | 国内外成人在线视频 | 中文字幕日韩无 | 久久艹这里只有精品 | 日本韩国三级 |