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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JZOJ 1533. 郁闷的gxg

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 1533. 郁闷的gxg 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

由于省賽的失利(難以理喻的失常),gxg心情十分沉痛—不能為校爭光,也辜負了老師的一番陪養。除此以外更多的是郁悶,但gxg知道大學的大門不會因為自己的郁悶而為自己打開,所以一定要振作起來。為了排遣郁悶,gxg開始玩起了智力游戲。
游戲是這樣子的:
n個盒子被放成一圈,每個盒子按順時針編號為1到n,(1<=n<=1000)。每個盒子里都有一些球,且所有盒子里球的總數不超過n。
這些球要按如下的方式轉移:每一步可以將一個球從盒子中取出,放入一個相鄰的盒子中。目標是使所有的盒子中球的個數都不超過1。
任務
? 從文件d.in中讀入盒子的個數和每個盒子中球的個數
? 計算最少的步數是每個盒子中的球的個數不超過1
? 將結果寫入文件d.out.

Input

輸入文件第一行是一個整數n,表示盒子的個數。以后n行,每行中有一個非負整數,表示每個盒子中球的數目。

Output

輸出文件包含一個數:達到目標所需要的最少步數。

Sample Input

12

0

0

2

4

3

1

0

0

0

0

0

1

Sample Output

19

Solution

  • 這題的數據范圍一看就很小,心里很開心,果斷上貪心……

  • 別提了,直接Wrong Answer!~~~原因是環的存在

  • 看了題解,才恍然大悟——最小費用最大流

  • 設源點和匯點,每個點向旁邊的兩個點(注意是環!)連一條容量為 0 、費用為 1 的邊,

  • 之后源點向每個點都連一條容量為 該點初始球個數 、費用為 0 的邊,

  • 每個點都再向匯點連一條容量為 1 、費用為 0 的邊。

  • 這樣一個神奇的圖就構好啦!接著跑一遍最小費用最大流,輸出最小費用即可。

  • 這可以用 SPFA 實現,每次按最小費用跑一次最短路,更新網絡并累加,循環操作即可。

Code

#include<cstdio> using namespace std; const int N=2003,Mx=2e9; int n,tot=1,ans; int first[N],next[N*4],en[N*4],f[N*4],v[N*4]; int que[N*10],dis[N],g[N]; bool bz[N]; inline int read() {int data=0; char ch=0;while(ch<'0' || ch>'9') ch=getchar();while(ch>='0' && ch<='9') data=data*10+ch-'0',ch=getchar();return data; } inline int min(int x,int y) {return x<y?x:y; } inline void link(int x,int y,int z,int p) {next[++tot]=first[x];first[x]=tot;en[tot]=y;f[tot]=z;v[tot]=p; } inline void insert(int x,int y,int z,int p) {link(x,y,z,p);link(y,x,0,-p); } inline bool spfa() {for(int i=1;i<=n+1;i++) dis[i]=Mx;int l=que[1]=0,r=1;while(l<r){int now=que[++l];bz[now]=false;for(int i=first[now];i;i=next[i])if(f[i] && dis[now]+v[i]<dis[en[i]]){dis[en[i]]=dis[now]+v[g[en[i]]=i];if(!bz[en[i]]) bz[que[++r]=en[i]]=true;}}return dis[n+1]<Mx; } inline void work() {int sum=Mx;for(int i=n+1;i;i=en[g[i]^1]) sum=min(sum,f[g[i]]);for(int i=n+1;i;i=en[g[i]^1]){f[g[i]]-=sum;f[g[i]^1]+=sum;ans+=v[g[i]]*sum;} } int main() {n=read();for(int i=1;i<=n;i++) {int x=read();insert(0,i,x,0);insert(i,n+1,1,0);int l=i>1?i-1:n,r=i<n?i+1:1;insert(i,l,Mx,1);insert(i,r,Mx,1);}while(spfa()) work();printf("%d",ans);return 0; }

總結

以上是生活随笔為你收集整理的JZOJ 1533. 郁闷的gxg的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 97在线观看免费视频 | av一级网站| 国内精品嫩模av私拍在线观看 | 成人国产在线 | 韩国日本在线观看 | 欧美毛片视频 | 性高潮久久久久久 | 国产精品高潮呻吟久久av黑人 | 想要视频在线观看 | 国产91精品久久久久久久 | 超碰888 | 美女黄色真播 | 欧美五月婷婷 | 韩国一区二区三区四区 | 成人免费在线视频网站 | 福利在线小视频 | 三级做爰第一次 | 91噜噜噜 | 麻豆啪啪 | 韩国黄色视屏 | 黄色网址在线免费 | 按摩毛片| 999精品视频| 色七七网站| 91tv在线观看 | 噜噜在线视频 | 亚洲永久免费精品 | av大片免费观看 | 欧美成人极品 | 毛片内射久久久一区 | zzjj国产精品一区二区 | 四季av中文字幕 | 国产福利91精品一区二区三区 | 久久久久久久穴 | 亚洲色图欧美在线 | 中文字幕欧美在线 | 中国挤奶哺乳午夜片 | 欧美成人性生活 | 日本亚洲高清 | 久久久二区 | 国产一区二区三区自拍 | 色香影院 | 美女主播福利视频 | 天天干天天操天天玩 | 男女啪啪免费看 | 国产精品久久久久久久久久久久 | 免费观看污 | 日韩精品一区二区在线看 | 少妇系列在线观看 | 日本电影一区 | 色久视频 | 诱惑av | av激情影院 | 操色网 | 国产一区二区三区在线视频 | 精品视频在线观看一区二区 | 免费在线色视频 | 日韩精品高清在线 | 欧美gv在线 | 台湾chinesehdxxxx少妇 | 久久久久久久久久久久91 | 成年人网站av | 国产精品日韩无码 | 亚洲性网 | 韩国午夜影院 | 三级a毛片| 99在线免费观看视频 | 特级毛片av | 男人桶进美女尿囗 | 日韩久久久久 | 国产超碰 | 村上里沙番号 | 一区二区三区免费在线视频 | 国产欧美在线看 | 国产精品无码成人片 | 欧美在线视频一区二区三区 | 12av毛片| 国产精品xxx在线 | 黄色永久网站 | 秋霞午夜影院 | 国产色婷婷一区二区三区竹菊影视 | 秋霞成人午夜伦在线观看 | 日本久久爱| 日产精品久久久久久久 | 欧美精品在线一区二区 | 丁香综合网| 北条麻妃一区二区三区在线观看 | 制服.丝袜.亚洲.中文.综合懂色 | 成人午夜视频在线观看 | 成人免费视频一区 | 国产日韩欧美精品一区二区 | 免费毛片网站在线观看 | 精品欧美一区二区三区在线观看 | 日本黄色免费观看 | 九九热视频这里只有精品 | 久草综合在线观看 | 国产午夜福利视频在线观看 | 爱久久视频 | 秋霞成人 |