A. Arena of Greed(博弈+贪心)2020 ICPC, COMPFEST 12, Indonesia Multi-Provincial Contest
原题链接: https://codeforces.com/problemset/problem/1425/A
测试样例
input
2
5
6
output
2
4
Note
For the first case, the game is as follows:
- Mr. Chanek takes one coin.
- The opponent takes two coins.
- Mr. Chanek takes one coin.
- The opponent takes one coin.
For the second case, the game is as follows:
- Mr. Chanek takes three coins.
- The opponent takes one coin.
- Mr. Chanek takes one coin.
- The opponent takes one coin.
题意: 现在ChanekChanekChanek和对手玩一个博弈游戏,规则是这样,有一个宝箱中含有nnn个金币,每个人交互进行一回合,ChanekChanekChanek先开始。进行操作有两种选择:
- 你可以拿走一个金币
- 如果宝箱中金币数量为偶数,你可以拿走宝箱金币的一半。
当宝箱金币数量为0时,游戏结束。他们都试图得到这最大的金币数量,且他们都玩得最优,问ChanekChanekChanek能获得的最大金币数。
解题思路: 既然是最优问题,我们就要思考,什么时候最优,如果我可以进行第二步操作,那么我们是不是倾向于进行第二步操作。 因为这样的收益是目前最大的。当然,这只考虑到你自己,你没有考虑到别的因素。如果我们进行完第二步操作后,别人只能进行第一步操作,而你又能进行第二步操作这是不是最优的?当然是,那么这种情况其实就是444的倍数的时候,考虑到这个我们则可以进行选择了,在模拟回合的时候我们要变换角色,可以通过01异或来解决该问题,同时我们也只需要统计ChanekChanekChanek的硬币数即可。
AC代码
/*
*邮箱:unique_powerhouse@qq.com
*blog:https://me.csdn.net/hzf0701
*注:文章若有任何问题请私信我或评论区留言,谢谢支持。
*
*/
#include<bits/stdc++.h> //POJ不支持#define rep(i,a,n) for (int i=a;i<=n;i++)//i为循环变量,a为初始值,n为界限值,递增
#define per(i,a,n) for (int i=a;i>=n;i--)//i为循环变量, a为初始值,n为界限值,递减。
#define pb push_back
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
#define fi first
#define se second
#define mp make_pairusing namespace std;const int inf = 0x3f3f3f3f;//无穷大
const int maxn = 1e5;//最大值。
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
//*******************************分割线,以上为自定义代码模板***************************************//ll t,n;
int main(){//freopen("in.txt", "r", stdin);//提交的时候要注释掉IOS;while(cin>>t){while(t--){cin>>n;ll ans=0;ll player=0;//0代表Chanek,1代表Arena。//开始游戏,利益最大化。while(n){if(n%2){if(player==0){ans++;}n--;}else{if(n==4||(n>4&&n%4!=0)){if(player==0){ans+=n/2;}n/=2;}else{if(player==0){ans++;}n--;}}player^=1;}cout<<ans<<endl;}}return 0;
}
A. Arena of Greed(博弈+贪心)2020 ICPC, COMPFEST 12, Indonesia Multi-Provincial Contest相关推荐
- A. Arena of Greed【贪心+特判】
题目 传送门 inputCopy 2 5 6 outputCopy 2 4 题意:T组测试样例,每组一个数n,有n个物品,两个人轮流拿操作,有以下两种操作 1:拿一个物品 2:当n为偶数时拿一半物品. ...
- 2020 ICPC Macau A. Accelerator(期望,计数,分治FFT)(每日一题 21.7.6)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2020 ICPC Macau A. Accelerator(分治FFT) Problem 给定长度为 ...
- 2020 ICPC NAC
2020 ICPC NAC 题号 题目 知识点 难度 A Another Coin Weighing Puzzle B Mini Battleship C Bomas D All Kill E Gri ...
- A. Arena of Greed
链接:https://codeforces.com/problemset/problem/1425/A Lately, Mr. Chanek frequently plays the game Are ...
- The 2020 ICPC Asia Shenyang Regional Programming Contest I题 Rise of Shadows(数论)
题目链接The 2020 ICPC Asia Shenyang Regional Programming Contest 题目大意: 一天内有H小时,每小时M分钟,时针分针以恒定速率旋转. 现在若时针 ...
- The 2020 ICPC Asia Yinchuan Regional Programming Contest
The 2020 ICPC Asia Yinchuan Regional Programming Contest A 开三个vector数组存储x,y,z轴上的点,unique+erase去重 #in ...
- 【2020 ICPC Asia East Continent Final】赛前训练
这里写自定义目录标题 [2020 ICPC Asia East Continent Final]赛前训练 A - Namomo Subsequence 输入: 输出: 样例: 解析: 代码: F - ...
- 数据分析IJCAI 2020:录用率12.6%,华人占据半壁江山,表征学习、GNN成热点 | AI日报...
智源学者何晓冬参与论文获IEEE信号处理协会最佳论文奖,Yoshua Bengio是合作者之一 近日,智源学者.京东集团技术副总裁何晓冬参与论文<Using Recurrent Neural N ...
- 一周新论文 | 2020年第12周 | 自然语言处理相关
<一周新论文>系列之2020年第12周:自然语言处理相关 本周重点关注: Google: [19] Microsoft: [57] 其他: [26], [32], [50], [60] 2 ...
最新文章
- php调用txt接口,PHP 如何更优雅地调用 API 接口
- asp图片截图代码并且利用asp上传图片压缩
- 1.1 Java包装类、装箱和拆箱
- 【数论】YY的GCD(P2257)
- oracle pl sql case,oracle plsql case when_end case小记
- js准确获取当前页面url网址信息
- mysql+proxysql+keepalived实现高可用的数据库读写分离
- QT第三方串口类Win_QextSerialPort,串口工具插拔后无法继续使用问题
- Web安全漏洞介绍及防御-文件上传漏洞
- 如何编写单元测试用例
- 计算机无法搜索照片,电脑上照片查看器无法打开照片
- 【产品设计-小程序】小胖工具箱系列—汇率换算
- 4. C语言预定义符号
- ZBrush新手推荐使用这17个小技巧和常用快捷键、笔刷
- 作为 Gopher, 你知道 Go 的注释即文档应该怎么写吗
- 使用PuTTY上传和下载文件
- python 几何教学_GEE学习笔记 八十三:【GEE之Python版教程十三】几何图形
- 科技大佬的那些情史!
- 论OpenVZ与KVM的区别
- SourceTree 3.3.8 免注册 安装
热门文章
- 小米手机产品全球不再使用“MI”品牌,改用“xiaomi”全称品牌
- JVM类加载过程,JDK和JER区别
- linux 游戏 复刻,魔法门复刻手游官网版-魔法门复刻下载v4.00.9-Linux公社
- android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...
- 写了一篇文章老是提示包含敏感词,修改了好多遍
- 3D点云论文相关论文资料总结
- 紫色特别舒服的UI趣味测试微信小程序源码下载包含多种评测
- 【深度学习】1-权重参数全相同值初始化,导致无法训练-python
- 一文梳理人脸识别,看完全都懂了!
- 国宝和家宝,一个都不能少。