一个人怎么做网站网络架构扁平化
web/
2025/9/27 6:00:51/
文章来源:
一个人怎么做网站,网络架构扁平化,建站之星怎么免费做网站,只有一个域名怎么做网站题解#xff1a;CF1914E-Game with Marbles
事先说明一下#xff0c;本题解不讲解简单数据范围的算法#xff0c;因为复杂数据范围的就很简单。
这道题的大体意思是这样的#xff1a;小A有颜色为i(i1~n)的小球a[i]个#xff0c;小B有颜色为i(i1~n)的小球b[i]个。现在他们…题解CF1914E-Game with Marbles
事先说明一下本题解不讲解简单数据范围的算法因为复杂数据范围的就很简单。
这道题的大体意思是这样的小A有颜色为i(i1~n)的小球a[i]个小B有颜色为i(i1~n)的小球b[i]个。现在他们进行一次比赛规则如下由双方轮流操作小A先来每次操作操作方将选择一个颜色x(x1~n)并保证双方此时都至少有一个该颜色的球之后自己吃掉自己的一个颜色为x的球并让对方吃掉对方所有的颜色为x的球之后让下一个人操作直到不存在任何一个x(x1~n)使得双方都至少有一个颜色为x的球。该游戏结束后得分是小A还没吃的球的个数减去小B还没吃的球的个数。小A想让分数越高越好小B反之假设他们的智商都很高都能是每一步都达到最优效果。
其实我不知道为什么要设置E1因为没有意义呀E2就很可做了。当然感兴趣的朋友们可以尝逝去做一下建议直接提交E2的代码。 因此我们只需要按照a[i]b[i]对i进行升序排序小A从后往前取n、n-2、n-4、……小B取剩下的即n-1、n-3、n-5、……就相当于双方轮流取目前最优的。
好了终于到了大家喜闻乐见的代码CtrlC、CtrlV环节了AC code走起
#includebits/stdc.h#define int long long#define N 220000using namespace std;int a[N]{},b[N]{},c[N]{},n0,t0;bool cmp(int x,int y);signed main(){ scanf(%lld,t); while(t--){ scanf(%lld,n); for(int i1;in;i){ scanf(%lld,a[i]); } for(int i1;in;i){ scanf(%lld,b[i]); } int ans0; for(int i1;in;i){ ansa[i]-b[i]; c[i]i; } sort(c1,c1n,cmp); for(int in;i1;i-2){ ansb[c[i]]-1; } for(int in-1;i1;i-2){ ans-a[c[i]]-1; } printf(%lld\n,ans); } return 0;}bool cmp(int x,int y){ return a[x]b[x]a[y]b[y];}
顾得拜
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82578.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!