题目

传送门

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【贪心+特判】相关推荐

  1. A. Arena of Greed

    链接:https://codeforces.com/problemset/problem/1425/A Lately, Mr. Chanek frequently plays the game Are ...

  2. 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 ...

  3. CometOJ国庆欢乐赛 C两排房子 二分 D1 二分贪心 E贪心特判

    时间复杂度O(n*log2m) lower_bound 第一个大于等于 upper_bound 第一个大于 #include<bits/stdc++.h> using namespace ...

  4. codeforces 博弈 Arena of Greed

    题目描述: 思想: 首先,我们应该明确,如果一开始石子的数量为偶数,那么先手可以控制后手的选择,因为先手可以拿一个,那么后手也只能拿一个,先手的局面又变为偶数了.如果先手拿走一半后,石子的数量只剩下奇 ...

  5. 算法分析与设计:贪心算法实现最少硬币找钱问题(支付+找零共花费硬币数最少)

    硬币找钱问题 Problem Description 设有六种不同面值的硬币,各硬币的面值分别为 5分,1角,2角,5角,1元,2元.现要用这些面值的硬币来购物和找钱.购物时可以使用的各面值的硬币个数 ...

  6. LeetCode 1024. 视频拼接

    文章目录 题意简述 解法1:贪心 + 特判 解法2:贪心 解法3:动态规划   今天是 10.24,照常打开了力扣,就看到了首页上的 1024大冒险 点开玩了下,还蛮有意思的,不过没点几下就挂了,还得 ...

  7. 【纪中受难记】——Day17:本来能AK

    (标题妄想). 95/0/0 第二题很水,后来花5分钟切了. 3503. 粉刷(paint) (Standard IO) Time Limits: 1000 ms  Memory Limits: 13 ...

  8. TopCoder Arena 插件配置(1)Greed 2.0

    在之前的TopCoder Arena 一日游记中的最后我们讲到,Topcoder Arena没有插件实在是太麻烦了. 而TopCoder Arena现在主流的3种插件配置中,相对来讲初步配置最省力且题 ...

  9. Codeforces1600数学day5[找规律CodeForces - 1059C,贪心数学A - Banh-mi CodeForces - 1062C ]

    A - Banh-mi CodeForces - 1062C 题目大意:就是开始给你一个01序列,和q次询问,每次询问会给你一个区间,每次你会从这个区间内拿出一个数,在区间内的其他未被拿走的数字会加上 ...

最新文章

  1. C++ string的使用
  2. .net面试题(高级)
  3. 使用OpenCV和Python从图像中提取形状
  4. 第一百零九期:双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统
  5. api k8s restful 创建pods_Kind:一个容器创建K8S开发集群
  6. Mac如何修改文件默认打开方式?
  7. 快速在MyEclipse中打开jsp类型的文件
  8. 只需几步教你学会域名的使用方法
  9. 项目管理知识体系系指南学习总结(一)
  10. 对于大型公司项目平台选择j2ee的几层认识(一)
  11. NativeActivity
  12. 天书奇谈3D服务端搭建架设教程Centos
  13. 机器学习——概率分类(三)高斯概率密度与混合高斯模型
  14. 单例模式-DoubleCheck
  15. spider test
  16. 【转】史上最全!多图带你读懂各种常见卷积类型
  17. 算法:根据一个开关确定一百人是否都进入过房间
  18. 将tgz文件解压到指定目录
  19. 【科创人独家】Worktile王涛:创业那些坑很难避免,要磨练在坑里吸取营养的能力
  20. maya中adv插件绑定1

热门文章

  1. 手持天馈线测试仪 哪一款性价比最高
  2. PS 2018CC安装完打开后,菜单界面的字体太大太小如何调整
  3. android 字符串转小数点,Android实现计算器(计算表达式/计算小数点以及括号)...
  4. 苏炳添博士论文研究自己,奥运学术两兼顾,还是暨大副教授,网友:真正的Run数据...
  5. 出国留学考试指导大全:托福85分是个坎儿
  6. C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
  7. Maven手工安装jar包到本地仓库
  8. 为什么你的同龄人在抛弃你?还要等着被谁抛弃?
  9. R语言中写SQL语句
  10. 2022 apollo感知深度访谈简记