日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 污视频网站入口 | 我们的生活第五季在线观看免费 | 亚洲精品美女久久久 | 国产www免费观看 | 亚洲欧美综合久久 | 九九免费在线视频 | aaa黄色大片 | 日韩精品一区二区三区丰满 | 中文字幕日日 | 黑人巨大精品欧美一区二区 | 中国一及毛片 | 91av在线免费 | 国产一二视频 | 中文字幕亚洲综合 | 虫族全黄h全肉污文 | 欧美狂猛xxxxx乱大交3 | 国产伦精品一区二区 | 冲田杏梨在线 | 老牛影视av一区二区在线观看 | 成人在线视频网址 | 免费av一级片 | 中国一级特黄毛片 | av成人在线看 | 香蕉a | 亚洲黄色在线观看 | 午夜aaa片一区二区专区 | 人妻少妇被猛烈进入中文字幕 | 99热这里有 | 88国产精品 | 黄色国产免费 | 免费播放毛片精品视频 | 日本高清网站 | 日韩91视频 | 肉色丝袜小早川怜子av | 她也啪在线视频 | 岛国精品在线 | 波多野吉衣一区 | 老司机在线看片 | 亚洲精品一区中文字幕乱码 | 熟女人妻一区二区三区免费看 | 91视频黄| 秋霞毛片少妇激情免费 | 日本特黄特色aaa大片免费 | 粉嫩av国产一区二区三区 | 国产高清自拍av | 欧美国产日韩一区二区三区 | 天天看夜夜看 | 国产成人精品一区二区三区 | 久久免费激情视频 | 麻豆91在线 | 美女隐私免费看 | 乱色欧美 | 亚洲欧美综合久久 | 午夜精品久久99蜜桃的功能介绍 | 国产精品视频99 | 欧美不卡视频在线观看 | 高清亚洲 | 精品人妻一区二区三区含羞草 | 国产一区二区三区电影在线观看 | 亚洲国产成人va在线观看天堂 | 婷婷天天| 少妇被又大又粗又爽毛片久久黑人 | 国产高清免费在线观看 | 麻豆久久久9性大片 | 泽村玲子av | 污视频网站免费观看 | 午夜神马影院 | 久久com| 91丝袜国产在线播放 | 国产小视频在线免费观看 | 久久av不卡 | 亚洲高清视频一区二区 | 亚洲高清天堂 | 久久视频在线播放 | 五月天色网站 | 欧洲一区二区在线观看 | 国内毛片毛片毛片 | 日日嗨av一区二区三区四区 | 欧美极品一区二区三区 | 日本wwww视频 | 又黄又高潮的视频 | 天天插天天爽 | 欧美精品免费一区二区 | 12av在线| 中文字幕在线网 | 日本精品网 | 天天摸天天干 | 免费看日韩av | 午夜精品久久久久久 | 在线观看视频色 | 男女无遮挡网站 | 好吊在线视频 | 国产亚洲精品成人无码精品网站 | 啪免费视频 | 欧美日韩国产一区二区三区在线观看 | 蜜乳av一区 | 少妇真人直播免费视频 | 国产第9页 | 国产欧美自拍 |