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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[NOIP2012提高组]国王游戏

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [NOIP2012提高组]国王游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:洛谷P1080、Vijos P1779、codevs1198。

題目大意:國王和每個大臣左、右手各寫了一個數。規定每個大臣得到的金幣數為他前面所有人左手的數字的乘積除以他自己右手的數(向下取整),現在國王要改變大臣的排列順序,使得獲得獎賞最多的大臣,所獲獎賞盡可能的少(國王永遠站在最前面)。

解題思路:(貪心)首先,交換相鄰兩個大臣只會對這兩個大臣造成影響,并不會對其他大臣造成影響。

我們考慮大臣i和i+1,設他們左手數字分別為A[i]和A[i+1],右手分別為B[i]和B[i+1],前i-1個大臣和國王左手的數的乘積為S,且A[i]B[i]<=A[i+1]B[i+1]。

原來兩個大臣能得到的金幣數分別為S/B[i],S*A[i]/B[i+1]。

如果交換,則第一個大臣現在能得到S*A[i+1]/B[i],第二個能得到S/B[i+1]。

由于A[i]B[i]<=A[i+1]B[i+1],所以S*A[i]*B[i]<=S*A[i+1]*B[i+1],所以S*A[i]/B[i+1]<=S*A[i+1]/B[i]。

由此可得大臣以A[i]B[i]從小到大排序,答案越小。

而S*A[i+1]/B[i]>=S/B[i],S*A[i]/B[i+1]>=S/B[i+1],故最大的答案為后面那個大臣的,也保證了答案的正確性。

然后高精度一下就好了。

C++ Code:

#include<cstdio> #include<cstring> #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; struct BigInteger {static const int BASE=100000000;static const int WIDTH=8;vector<long long>s;BigInteger(long long num=0){*this=num;}BigInteger operator = (long long num){s.clear();do{s.push_back(num%BASE);num/=BASE;} while(num>0);return *this;}BigInteger operator = (const string& str){s.clear();int x,len=(str.length()-1)/WIDTH+1;for(int i=0;i<len;i++){int end=str.length()-i*WIDTH;int start=max(0,end-WIDTH);sscanf(str.substr(start,end-start).c_str(),"%d",&x);s.push_back(x);}return *this;}BigInteger operator + (const BigInteger& b)const{BigInteger c;c.s.clear();for(int i=0,g=0;;i++){if(g==0&&i>=s.size()&&i>=b.s.size())break;int x=g;if(i<s.size())x+=s[i];if(i<b.s.size())x+=b.s[i];c.s.push_back(x%BASE);g=x/BASE;}return c;}bool operator < (const BigInteger& b)const{if(s.size()!=b.s.size())return s.size()<b.s.size();for(int i=s.size()-1;i>=0;i--)if(s[i]!=b.s[i])return s[i]<b.s[i];return false;}bool operator > (const BigInteger& b)const{return b<*this;}bool operator <= (const BigInteger& b)const{return !(b<*this);}bool operator >= (const BigInteger& b)const{return !(*this<b);}bool operator != (const BigInteger& b)const{return b<*this||*this<b;}bool operator == (const BigInteger& b)const{return !(b<*this)&&!(*this<b);}void cheng(int a){vector<long long>c;for(int i=0;i<s.size();++i){if(c.size()<=i)c.push_back(s[i]*a);elsec[i]+=s[i]*a;if(c[i]/BASE)if(c.size()<=i+1)c.push_back(c[i]/BASE);elsec[i+1]=c[i]/BASE;c[i]%=BASE;}s=c;}void chu(int a){vector<long long>c(s);if(s.back()/a)c[s.size()-1]=s.back()/a,s[s.size()-1]%=a;elsec.pop_back();for(int i=s.size()-2;i>=0;--i){long long num=s[i+1]*BASE+s[i];c[i]=num/a;num%=a;s[i]=num;}s=c;} }; ostream& operator << (ostream &out,const BigInteger& x){out<<x.s.back();for(int i=x.s.size()-2;i>=0;i--){char buf[20];sprintf(buf,"%08d",x.s[i]);for(int j=0;j<strlen(buf);j++)out<<buf[j];}return out; } istream& operator >> (istream &in,BigInteger& x){string s;if(!(in>>s))return in;x=s;return in; } struct DC{int a,b;bool operator < (const DC&rhs)const{return a*b<rhs.a*rhs.b;} }p[1005]; int n; BigInteger sum,Div,ans; int main(){ios::sync_with_stdio(false);cin>>n;for(int i=0;i<=n;++i)cin>>p[i].a>>p[i].b;sort(p+1,p+n+1);sum=ans=p[0].a;for(int i=1;i<=n;++i){Div=sum;Div.chu(p[i].b);if(ans<Div)ans=Div;sum.cheng(p[i].a);}cout<<ans<<endl;return 0; }

?

轉載于:https://www.cnblogs.com/Mrsrz/p/7545044.html

總結

以上是生活随笔為你收集整理的[NOIP2012提高组]国王游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国内久久精品视频 | 色播视频在线观看 | 美女福利视频 | 欧美成人日韩 | 7799精品视频| 18视频在线观看网站 | 花房姑娘免费全集 | 日韩黄色在线观看 | 青青草97国产精品免费观看 | 美日韩在线观看 | 国产xxxxx视频 | 91嫩草影视 | 国外成人在线视频 | 人妻视频一区二区三区 | 久久男女 | 性xxxx| 51国产偷自视频区视频 | 97人妻一区二区精品视频 | 人妻少妇无码精品视频区 | 豆花在线视频 | 波多野久久 | 国语对白av| 亚洲欧美偷拍一区 | 姐姐的秘密韩剧免费观看全集中文 | 色成人综合网 | 欧美 日韩 国产 在线 | 国产精品无码中文字幕 | 黄色成人在线视频 | 国产精品国产三级国产aⅴ无密码 | 国产精品久久国产愉拍 | 啪视频免费| 精品国产三级a∨在线 | www.97av.com| 女同另类之国产女同 | 国产欧美精品一区二区色综合 | 日韩成人av网站 | 国产欧美不卡 | 久久国精品 | 少妇中出视频 | 国产精成人| 日本特级黄色 | 国产区免费观看 | 成人av网址大全 | 中文字幕第28页 | 日日噜噜噜 | 亚洲久久成人 | 国产成年人网站 | 亚洲天堂91| 欧美性网址 | 空姐吹箫视频大全 | 美女极度色诱图片www视频 | 中文在线а√天堂官网 | 欧美熟妇激情一区二区三区 | 亚欧洲精品在线视频 | 国产婷婷一区二区三区 | 亚洲激情短视频 | 欧美精品黄 | 国产精品调教视频 | 日日躁狠狠躁 | 欧美一级视频免费观看 | 国产九九精品 | 成人在线综合 | 九九九色 | 成人黄色小说在线观看 | 黑丝少妇喷水 | 中国妇女做爰视频 | 久久久久人妻一区精品色 | 婷婷深爱网| 欧美夫妇交换xxx | 自拍99页 | 久久成人网18网站 | 青娱乐导航 | 欧美日韩激情在线一区二区三区 | 韩日av一区二区 | 五月开心网| 成人短视频在线播放 | 久久夜色精品亚洲 | 免费成人深夜夜行网站视频 | 成人日韩 | 枫可怜av | 好男人.www| 国产综合社区 | 麻豆视频免费入口 | 6080电视影片在线观看 | 国产精品视频免费网站 | 口爆吞精一区二区三区 | 91高潮大合集爽到抽搐 | 中文字幕一区二区三区四区视频 | 亚洲字幕成人中文在线观看 | 精品少妇人妻av免费久久洗澡 | 99精品成人 | 国产aⅴ片 | www.桃色av嫩草.com | 久久综合亚洲色hezyo国产 | 欧美日韩美女 | 一级片a级片 | 超碰在线小说 | 在线视频在线观看 | 国产一区二区观看 |