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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

bzoj1745[Usaco2005 oct]Flying Right 飞行航班*

發布時間:2024/3/24 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj1745[Usaco2005 oct]Flying Right 飞行航班* 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

bzoj1745[Usaco2005 oct]Flying Right 飛行航班

題意:

n個農場,有k群牛要從一個農場到另一個農場(每群由一只或幾只奶牛組成)飛機白天從農場1到農場n,晚上從農場n到農場1,上面有c個座位,問最多可以滿足多少只牛的要求。n≤10000,k≤50000,c≤100。

題解:

用類似貪心的方法做,現將每個農場出發的牛組織成鏈表。先求早上:當飛機到達每個農場時,先讓到達的奶牛下機,接著如果飛機未滿,則將其填滿,之后枚舉剩下的奶牛,如果它們的目的地比坐在飛機上面的奶牛目的地近,就將其替換為當前奶牛,這一過程可以用multiset維護。晚上所有過程都倒過來再做一次即可。

代碼:

1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <set> 5 #define inc(i,j,k) for(int i=j;i<=k;i++) 6 #define maxn 10010 7 using namespace std; 8 9 inline int read(){ 10 char ch=getchar(); int f=1,x=0; 11 while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();} 12 while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); 13 return f*x; 14 } 15 multiset<int,greater<int> >st1; 16 multiset<int>st2; 17 int n,m,k,now,ans; struct nd{int t,w,n;}nds[2][maxn*5]; int ess[2],g[2][maxn]; 18 int main(){ 19 n=read(); m=read(); k=read(); 20 inc(i,1,n){ 21 int x=read(),y=read(),z=read(); 22 if(x<y)nds[0][++ess[0]]=(nd){y,z,g[0][x]},g[0][x]=ess[0]; 23 else nds[1][++ess[1]]=(nd){y,z,g[1][x]},g[1][x]=ess[1]; 24 } 25 now=0; 26 inc(i,1,m){ 27 if(st1.find(i)!=st1.end()){int x=st1.erase(i); ans+=x; now-=x;} 28 for(int j=g[0][i];j;j=nds[0][j].n){ 29 while(now<k&&nds[0][j].w)st1.insert(nds[0][j].t),nds[0][j].w--,now++; 30 if(now==k){ 31 while(*st1.begin()>nds[0][j].t&&nds[0][j].w) 32 st1.erase(st1.begin()),st1.insert(nds[0][j].t),nds[0][j].w--; 33 } 34 } 35 } 36 now=0; 37 for(int i=m;i>=1;i--){ 38 if(st2.find(i)!=st2.end()){int x=st2.erase(i); ans+=x; now-=x;} 39 for(int j=g[1][i];j;j=nds[1][j].n){ 40 while(now<k&&nds[1][j].w)st2.insert(nds[1][j].t),nds[1][j].w--,now++; 41 if(now==k){ 42 while(*st2.begin()<nds[1][j].t&&nds[1][j].w) 43 st2.erase(st2.begin()),st2.insert(nds[1][j].t),nds[1][j].w--; 44 } 45 } 46 } 47 printf("%d",ans); return 0; 48 }

?

20161115

轉載于:https://www.cnblogs.com/YuanZiming/p/6068042.html

總結

以上是生活随笔為你收集整理的bzoj1745[Usaco2005 oct]Flying Right 飞行航班*的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美69久成人做爰视频 | 91视频污在线观看 | 久久国产成人 | 天堂一级片 | 日本无遮挡边做边爱边摸 | 精品1区2区3区 | 久久精品国产亚洲av蜜臀色欲 | 91久久伊人 | 一级片观看 | ts人妖另类精品视频系列 | 一级网站在线观看 | 99精品视频在线免费观看 | 在线你懂的 | 国产香蕉一区二区三区 | 免费日韩网站 | 日本成人福利视频 | 成人免费在线视频 | 九色tv | 丝袜人妖 | 男女三级视频 | 一区久久 | 动漫涩涩免费网站在线看 | 五月激情六月丁香 | av无码一区二区三区 | 一二三四区在线 | 成人免费视频视频 | 成人av一区二区三区在线观看 | 国产伊人自拍 | 看片免费黄在线观看入口 | 我会温柔一点的日剧 | 人妻饥渴偷公乱中文字幕 | 在线观看免费高清视频 | 你操综合 | av电影网站在线观看 | 国产一级片在线播放 | 欧美www| 国产尤物视频 | 日韩在线观看视频免费 | 综合色播 | 美女mm131爽爽爽免费动视频 | 五月天久久婷婷 | 91高清网站 | 国语对白少妇spa私密按摩 | 欧美精品99 | 熟女少妇内射日韩亚洲 | 精品电影一区二区 | 日韩黄色一区 | 欧美大肥婆大肥bbbbb | 人人妻人人做人人爽 | 国产床上视频 | 久久综合久久鬼色 | 国产区欧美区日韩区 | 成人欧美一区二区 | 丰满大乳国产精品 | 久久99精品久久久久久噜噜 | 国产亚洲精品久久久久久 | 国产一二在线 | 91精品999| 欧美大片在线播放 | 成人免费无码大片a毛片抽搐色欲 | 久久91精品 | 熟女人妻在线视频 | 拔插拔插海外华人免费视频 | 亚洲一卡二卡 | 国产三级视频在线 | 成人精品福利视频 | 日韩av一区二区在线观看 | 成年人的免费视频 | 一区二区久久精品66国产精品 | 三级黄色网 | 特级a毛片 | 色男人网| 日本在线中文字幕专区 | 蜜桃av导航| 亚洲欧美成人 | 后宫秀女调教(高h,np) | 欧美 日韩 国产 成人 在线 | 无码精品一区二区免费 | 亚洲女成人图区 | 99久久九九 | 性色av一区二区三区红粉影视 | a级在线播放 | 一道本在线视频 | 亚洲免费黄色片 | xxx日本黄色| 日韩欧美久久精品 | 日韩色av | 无码乱人伦一区二区亚洲 | 欧美高清日韩 | 午夜三级网站 | 成人黄色片网站 | 色爱综合网 | 深夜福利1000 | 高清久久 | 中文字幕3 | 蜜臀国产AV天堂久久无码蜜臀 | 亚洲欧美一区二区三区四区 | 亚洲综合涩 | 午夜一级在线 |