A. Arena of Greed【贪心+特判】
题目
传送门
inputCopy
2
5
6
outputCopy
2
4
题意:T组测试样例,每组一个数n,有n个物品,两个人轮流拿操作,有以下两种操作
1:拿一个物品
2:当n为偶数时拿一半物品.
问:第一个人先手,最多可以得到多少物品
思路:第一种操作不会有什么问题,对于第二种操作我们有两种选择,1拿一个,2拿一半,,他们应该尽可能保证在另一个人拿一个的情况下自己拿一半,例如12,如果我们不判断上面的条件直接拿一半的话,第一个人:6 1 1,第二个人:3 1;但是我们用上面的条件判断后第一个人:1 5 2 1,第二个人:1 1 1;4是特例;
AC code
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
#include<sstream>
#include<stack>
#include<queue>
using namespace std;
#define ll long long
ll n,t;
void solve()
{ ll ans=0,r=1;while(n){if(r%2==1)//第一个人{if((n%2==0)&&((n/2)%2==1)||(n==4))//当且仅当n为偶数且n的一半为奇数或n为4时满足条件{ ans+=n/2;n/=2;}else {n--,ans++;}}else{if((n%2==0)&&((n/2)%2==1)||(n==4))n/=2;else {n--;}}r++;}printf("%lld\n",ans);
}
int main()
{ios::sync_with_stdio(0);cin>>t;while(t--){cin>>n;solve();}
}
A. Arena of Greed【贪心+特判】相关推荐
- A. Arena of Greed
链接:https://codeforces.com/problemset/problem/1425/A Lately, Mr. Chanek frequently plays the game Are ...
- 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 firs ...
- CometOJ国庆欢乐赛 C两排房子 二分 D1 二分贪心 E贪心特判
时间复杂度O(n*log2m) lower_bound 第一个大于等于 upper_bound 第一个大于 #include<bits/stdc++.h> using namespace ...
- codeforces 博弈 Arena of Greed
题目描述: 思想: 首先,我们应该明确,如果一开始石子的数量为偶数,那么先手可以控制后手的选择,因为先手可以拿一个,那么后手也只能拿一个,先手的局面又变为偶数了.如果先手拿走一半后,石子的数量只剩下奇 ...
- 算法分析与设计:贪心算法实现最少硬币找钱问题(支付+找零共花费硬币数最少)
硬币找钱问题 Problem Description 设有六种不同面值的硬币,各硬币的面值分别为 5分,1角,2角,5角,1元,2元.现要用这些面值的硬币来购物和找钱.购物时可以使用的各面值的硬币个数 ...
- LeetCode 1024. 视频拼接
文章目录 题意简述 解法1:贪心 + 特判 解法2:贪心 解法3:动态规划 今天是 10.24,照常打开了力扣,就看到了首页上的 1024大冒险 点开玩了下,还蛮有意思的,不过没点几下就挂了,还得 ...
- 【纪中受难记】——Day17:本来能AK
(标题妄想). 95/0/0 第二题很水,后来花5分钟切了. 3503. 粉刷(paint) (Standard IO) Time Limits: 1000 ms Memory Limits: 13 ...
- TopCoder Arena 插件配置(1)Greed 2.0
在之前的TopCoder Arena 一日游记中的最后我们讲到,Topcoder Arena没有插件实在是太麻烦了. 而TopCoder Arena现在主流的3种插件配置中,相对来讲初步配置最省力且题 ...
- Codeforces1600数学day5[找规律CodeForces - 1059C,贪心数学A - Banh-mi CodeForces - 1062C ]
A - Banh-mi CodeForces - 1062C 题目大意:就是开始给你一个01序列,和q次询问,每次询问会给你一个区间,每次你会从这个区间内拿出一个数,在区间内的其他未被拿走的数字会加上 ...
最新文章
- C++ string的使用
- .net面试题(高级)
- 使用OpenCV和Python从图像中提取形状
- 第一百零九期:双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统
- api k8s restful 创建pods_Kind:一个容器创建K8S开发集群
- Mac如何修改文件默认打开方式?
- 快速在MyEclipse中打开jsp类型的文件
- 只需几步教你学会域名的使用方法
- 项目管理知识体系系指南学习总结(一)
- 对于大型公司项目平台选择j2ee的几层认识(一)
- NativeActivity
- 天书奇谈3D服务端搭建架设教程Centos
- 机器学习——概率分类(三)高斯概率密度与混合高斯模型
- 单例模式-DoubleCheck
- spider test
- 【转】史上最全!多图带你读懂各种常见卷积类型
- 算法:根据一个开关确定一百人是否都进入过房间
- 将tgz文件解压到指定目录
- 【科创人独家】Worktile王涛:创业那些坑很难避免,要磨练在坑里吸取营养的能力
- maya中adv插件绑定1
热门文章
- 手持天馈线测试仪 哪一款性价比最高
- PS 2018CC安装完打开后,菜单界面的字体太大太小如何调整
- android 字符串转小数点,Android实现计算器(计算表达式/计算小数点以及括号)...
- 苏炳添博士论文研究自己,奥运学术两兼顾,还是暨大副教授,网友:真正的Run数据...
- 出国留学考试指导大全:托福85分是个坎儿
- C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
- Maven手工安装jar包到本地仓库
- 为什么你的同龄人在抛弃你?还要等着被谁抛弃?
- R语言中写SQL语句
- 2022 apollo感知深度访谈简记