FZU Problem 2221 RunningMan(贪心)
一开始就跑偏了,耽误了很长时间,我和队友都想到博弈上去了...我严重怀疑自己被前几个博弈题给洗脑了...贪心的做法其实就是我们分两种情况,因为A先出,所以B在第一组可以选择是赢或输,如果要输,那直接不上人,而A已经赢了一场,所以A只要再赢一场就可以了,A的最优策略是把自己剩下的全上去,即为(a,n-a,0)的形式,B的最优为(0,m-1,1)的形式,若A要赢就是(n-a) >= (m-1).如果B选择在第一场赢的话,那B应该在第一场放上a+1个人,A的最优为(a,(n-a)/2,(n-a)/2)的形式,因为不能多放也不能少放,(话说多放了不就是少放了吗..),所以平均是最优的,B的最优形式(a+1,m-a-1,0),A要赢的话就是(n-a)/2 >= m-a-1,最后得出n >= 3*(m-1) / 2;
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int main() {int t;scanf("%d",&t);double n,m;while(t--){scanf("%lf%lf",&n,&m);if(n >= 3*(m-1)/2)puts("Yes");else puts("No");}return 0; }
上面是一种做法,也可以讨论m的奇偶性,若m为奇数,则m可以表示为2*k + 1 = m,此时若A的形式为(k,k,k)则A总能赢两局,若m为偶数,则m = 2*k,此时A为(k,k,k-1)时A必赢两局,一种较为极端的考虑方式,满足n >= 3*k即可(需要注意讨论m的奇偶).
转载于:https://www.cnblogs.com/jifahu/p/5448941.html
FZU Problem 2221 RunningMan(贪心)相关推荐
- FZU Problem 2221 RunningMan(思维考查)——第六届福建省大学生程序设计竞赛-重现赛
此文章可以使用目录功能哟↑(点击上方[+]) FZU Problem 2221 RunningMan Accept: 0 Submit: 0 Time Limit: 1000 mSec ...
- FZU Problem 2238 Daxia Wzc's problem(Lucas定理求组合数)
此文章可以使用目录功能哟↑(点击上方[+]) FZU Problem 2238 Daxia & Wzc's problem Accept: 0 Submit: 0 Time Limit ...
- 翻翻棋(找规律问题)(FZU Problem 2230)
题目是这样的: FZU Problem 2230 象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将.根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃 ...
- FZU Problem 2240 Daxia Suneast's problem(博弈+[单点更新,区间查询]线段树)
此文章可以使用目录功能哟↑(点击上方[+]) FZU Problem 2240 Daxia & Suneast's problem Accept: 0 Submit: 0 Time L ...
- FZU Problem 2243 Daxia like uber(最短路)
此文章可以使用目录功能哟↑(点击上方[+]) FZU Problem 2243 Daxia like uber Accept: 0 Submit: 0 Time Limit: 1000 mSe ...
- FZU 2221 RunningMan(跑男)
Problem Description 题目描述 ZB loves watching RunningMan! There's a game in RunningMan called 100 vs 10 ...
- 2021ICPC(沈阳) - String Problem(后缀树+贪心)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的字符串 sss,对于每个前缀来说,求出字典序最大的子串. 题目分析:看到子串的字典序,感觉能用后缀树来做,参考了一下大佬的赛上代码: 香港中文大 ...
- 【计算几何】FZU Problem 2270 Two Triangles
http://acm.fzu.edu.cn/problem.php?pid=2270 [题意] 给定6到10个点,从中选出6个不同的点组成两个三角形,使其中一个三角形可以通过另一个三角形平移和旋转得到 ...
- FZU Problem 2168 防守阵地 I
http://acm.fzu.edu.cn/problem.php?pid=2168 题目大意: 给定n个数和m,要求从n个数中选择连续的m个,使得a[i]*1+a[i+1]*2+--a[i+m]*m ...
最新文章
- 最近刷爆朋友圈的一道面试题
- centos和ubuntu安装卸载软件(rpm/dpkg)
- 多个if语句并列_P009 python基础之控制语句01
- Paper:《NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion,女娲:用于神经视觉世界创造的视觉》翻译与解读
- SpringBoot-切面AOP实现统一逻辑处理
- 网易云信为你的互联网应用快速接入直播功能
- NeurIPS 2020 | 一种基于动作采样的简单高效的正则化强化学习方法
- linux命令详解——iostat
- 15. OD-去除程序最后退出时弹出的注册模态对话框,eXeScope、Resource_Hacker工具的学习
- 接口自动化持续集成实战
- Zookeeper原理分析之存储结构ZkDatabase
- vb6实现union数据结构_Redis数据结构与对象编码解析
- 123 Python程序中的线程操作-协程
- nginx配置http访问自动跳转到https
- C++求复数的角度_单词复数规则:tomato的复数究竟是加s还是es?
- 基于三菱PLC的全自动洗衣机控制系统设计
- c语言文学研究助手报告,文学研究助手数据结构报告
- ubuntu安装docker + 配置国内源和加速器
- echarts添加背景图
- python后端工程师岗位职责_【PYTHON后端开发工程师岗位职责_PYTHON后端开发工程师职责/工作内容】-猎聘岗位职责频道...