CF-388C. Fox and Card Game(博弈、贪心)

CF传送门

洛谷传送门


解题思路

贪心:若序列长度为偶数,则每人拿一半,若为奇数,则所有奇数序列的中间元素从大到小排序,两人依次拿,剩下的两边的也是一人一半。

证明(感性):若对方想要抢走你那一半的元素,说明你那一半的元素肯定更大,你不可能让对面抢去,所以每个人都守着自己这一半的元素。

真不明白为啥紫题。

AC代码

复制代码
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<iomanip>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8 int n,m,ans1,ans2,cnt,x,a[10005];
 9 int main(){
10     cin>>n;
11     for(int i=1;i<=n;i++){
12         cin>>m;
13         for(int j=1;j<=m/2;j++){
14             cin>>x;
15             ans1+=x;
16         }
17         if(m&1){
18             cin>>a[++cnt];
19         }
20         for(int j=1;j<=m/2;j++){
21             cin>>x;
22             ans2+=x;
23         }
24     }
25     sort(a+1,a+cnt+1);
26     for(int i=cnt;i>=1;i--){
27         if((cnt-i)&1) ans2+=a[i];
28         else ans1+=a[i];
29     }
30     cout<<ans1<<" "<<ans2;
31     return 0;
32 }
复制代码

 

作者:尹昱钦
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   尹昱钦  阅读(59)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
点击右上角即可分享
微信分享提示