1397D. Stoned Game(博弈) Codeforces Round #666(Div.2)A~D题题解 高性能微服务架构技术选型 阿里饿了么Java4面:(数据结构+框架源码+JVM+分布式) 2020java面试总结 使用ffmpeg提取mp4内部日期重命名文件(需lua) 【剑指Offer】56.2 数组中只出现一次的数字,其他出现3次 JAVA二三事-使用IO+Properties实现动态读取文本信息 排序算法的C语言实现C代码(未更完) RT-Thread 内核学习--信号量的初步使用 【剑指Offer】57.2 和为S的连续正数序列 Qt三方库开发技术:QXlsx介绍、编译和使用 4G DTU模块的作用和功能说明 【Tips】- Wifi模块和4G无线通信 【5G核心网】 Identifiers 身份标识 DPDK支持的硬件:CPU、网卡NIC、加密引擎、基带加速器 如何根据普通ip地址获取当前地理位置 人工智能能力提升指导总结 520了,用32做个简单的小程序 程序员的数学--用贝叶斯定理来推断一个案子 文旅部新规:在线旅游网站不得擅自屏蔽删除评价 不得大数据杀熟 苏宁易购开学季消费大数据:手机以旧换新销量增长299% 做实供电服务“133” 助大数据直上“云”端 思科前程序员离职 5 月后“删虚拟机跑路”,240 万美元打水漂,网友:够狠! 抗疫代码成国博最新藏品 阿里程序员“写代码写进国博挺酷” 国博史上首次收藏代码!它们是阿里程序员写下的抗疫代码 威胜信息发布2020年上半年业绩:物联网产业进入爆发期 营收净利双增长 下月发布会不止有新品折叠屏手机 酷开的物联网家居生态野心初现 史上最全的数据库面试题 数据库面试必看 一个数据库SQL查询的数次轮回 百度智能云正式对外发布百度智能云数据库品牌GaiaDB 数据库三大泛式是什么 电力行业网管需求 IT运维管理解决方案 citrix桌面虚拟化中的运维工具Director SRE运维体系的构建和工作职责划分 运维的核心价值是什么 手游开发定制的全过程详解 开发人员透露:《赛博朋克2077》枪支泛滥 成熟的产品经理如何应对“这个需求不合理” CI/CD管道对开发和运维的重要性 APP开发的流程是怎样的 如何开发一个APP 零基础学web前端开发要学多久 如何系统学习 Web前端要学习哪些内容呢 前端工程师至少要满足四类客户的需求 前端学习计划思维导图 前端人如何选择自己的技术栈 前端人如何更快地成长 大数据的七大核心具体价值 核心价值究其用户到底是谁 大数据核心技术是什么 该怎么掌握Hadoop知识 未来大数据应用场景广阔 中国将成为全球最大的数据圈 2020大数据产业生态大会通过“现场论道+云端连线”全程直播的方式在北京举行
您的位置:首页 >开发 >

1397D. Stoned Game(博弈)

哎,这题死活想不出来…

只能加几分了,哎

.\color{Red}Ⅰ.考虑极端情况Ⅰ.考虑极端情况

,x考虑特殊情况,当某一堆石子x超级多的时候考虑特殊情况,当某一堆石子x超级多的时候

,先手肯定一直拿这堆石子,那后手只能拿其他石子先手肯定一直拿这堆石子,那后手只能拿其他石子

x,,,如果x大于其他石子和,那么后手没石子拿了,先手仍然拿这堆,先手赢如果x大于其他石子和,那么后手没石子拿了,先手仍然拿这堆,先手赢

那一般情况怎么办呢?

sumn假设石子总数是sumn个假设石子总数是sumn个

,,x可以想到,最后分出胜负是因为只剩最后一堆石子,设剩下x个可以想到,最后分出胜负是因为只剩最后一堆石子,设剩下x个

x谁先拿x这堆谁就赢了谁先拿x这堆谁就赢了

x,x(sumnx)问题在于x是多少,如果知道x就知道(sumn-x)的奇偶性问题在于x是多少,如果知道x就知道(sumn−x)的奇偶性

x这样就能知道谁最后拿了x这样就能知道谁最后拿了x

x=5,9假设x=5,那么总石子数被取到9的时候假设x=5,那么总石子数被取到9的时候

x,,接下来拿的人可以一直拿x这堆,就赢了,原因同\color{Red}{Ⅰ}接下来拿的人可以一直拿x这堆,就赢了,原因同Ⅰ

,所以另一个人一定不会让这种事发生,在之前的决策就会不让这堆石子那么突出所以另一个人一定不会让这种事发生,在之前的决策就会不让这堆石子那么突出

x=4,7,假设x=4,那么总石子数被取到7的时候,接下来取得人就必胜了假设x=4,那么总石子数被取到7的时候,接下来取得人就必胜了

所以另一个人在之前的决策就不会让这堆石子这么突出所以另一个人在之前的决策就不会让这堆石子这么突出

x1同理x只能等于1同理x只能等于1

1!!\color{Red}也就是最后一定会拿得只剩下1颗石子啊!!也就是最后一定会拿得只剩下1颗石子啊!!

#include <bits/stdc++.h>using namespace std;#define int long longconst int maxn=2e5+10;int t,n,a[maxn],b[maxn];signed main(){cin >> t;while( t-- ){cin >> n;int maxx=0,sumn=0;for(int i=1;i<=n;i++){cin >> a[i];sumn+=a[i];maxx=max(maxx,a[i]);}if( maxx>(sumn-maxx) )cout << "T\n";else{if( sumn%2==1 )cout << "L\n";elsecout << "HL\n";}}}

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。