HDU1847(巴什博弈)

  • 思路:因为是最后一次取的人胜利(巴什博弈定义),所以对先手来说,要确保自己取完后后手不能立刻获胜
  • 思考,当 n 为 2^k 时,先手胜利f;
  • 当 n 不是 2 ^ k 时,先手要想获胜,就要保证在自己取数之后的状态是"后手"获胜的状态,
  • 比如 n6 时,先手可以取1,2,4,又知道 n2,4,5 时状态为"先手"胜利,那么最终后手胜利
  • 又当 n7 时,先手如果取4, 又知道 n3 时状态为"后手"胜利,所以最终先手胜利
  • 进一步归纳,可以发现当n从1逐渐增加时,先后手的胜利者为 “先先后” 循环
  • n==1,2,3(以及4,5,6)的情况易证明,当n>3时,令k=3z-2(z>=3且z是正整数)且k<=n<=k+2,那么k, k+1, k+2构成一个组
  • 此时,k+1总是可以通过减去2得到上一组的最后一个值(后手胜利的状态),所以它是先手胜利的;
  • k可以通过减去4得到上上组的最后一个值(后手胜利的状态),所以它也是先手胜利的;
  • 而k+2减去一个2的幂后必然不能得到之前任何一组的最后一个值(因为这些值是3的倍数),所以它必然是后手胜利的

HDU1847解题思路相关推荐

  1. 2020考研 管理类联考数学 【题型分析及解题思路】

    第一章 整式分式 1.若一元n次多项式A被(或者是B的因式)一元1次多项式B整除,求解A中的几个系数a,b(解题思路:代入法,让因式值为0,也可以配合多元多项式基本公式将复杂的B变成简单的几个一次多项 ...

  2. 2014计算机三级网络技术,2014计算机三级网络技术综合题解题思路

    2014计算机三级网络技术综合题解题思路,全部自码 第一小题 IP地址的计算公式 正常IP地址计算:已知IP地址:子网掩码: 地址类别:A类地址:1-126(00)B类地址:128-191(10) C ...

  3. 2020腾讯广告算法大赛:赛题理解与解题思路

    写在前面 期待已久的2020腾讯广告算法大赛终于开始了,本届赛题"广告受众基础属性预估".本文将给出解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!! 报名链接:https ...

  4. 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路

    这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...

  5. 剑指offer第二版答案详细版(带详细解题思路)

    1.滑动窗口的最大值(剑指offer原59题) 解题思路:其实是一个队列的问题,用一个队列去维护当前窗口中的所有元素:首先将超出窗口中的队头元素先删掉,然后将新的元素插入当前窗口中,插入时要判断新插入 ...

  6. 素数c语言程序解题思路,C语言上机实验题目解题思路.doc

    上机实验题目解题思路 目录 第十三次实验:指针之一2 2453:步骤:2 2454:步骤:2 3575:步骤:方法同24543 3576:步骤:3 3580:步骤:3 3582:步骤:3 第十二次实验 ...

  7. java亲密数的解题思路,算法解题思路总结 - jjhgx的个人空间 - OSCHINA - 中文开源技术交流社区...

    算法解题思路: 细读算法要求 找到极限情况 找到临界情况,结果依赖 找到最终的结束求解点 编程实现:考虑算法的空间复杂度和时间复杂度 案例说明: 假设: 输入字符串为:s, 长度为:slen, s的第 ...

  8. leetcode206.反转链表 解题思路(简单)

    难度: 简单 题目:给你单链表的头结点head,请你反转链表,并返回反转后的链表. 示例1: 示例2: 示例3: 题目类型:数据结构链表 解题方法:双指针迭代法 解题思路: 1.申请两个新指针,分别指 ...

  9. LeetCode 中等难度 92. 反转链表 II解题思路

    92. 反转链表 II 题目:中等难度 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4-& ...

最新文章

  1. 读取复杂结构的yml配置项
  2. Unet项目解析(5): 数据封装、数据加载、数据显示
  3. binaryformatter java_Java,C#使用二进制序列化、反序列化操作数据
  4. 计算密集型分布式内存存储和运算平台架构
  5. 西安电子科技大学求职打点
  6. 如何让代码更易于维护_如何轻松地使您的网站更易于访问
  7. udp计算机dll,Udp_SocketBll.dll
  8. android 内存泄漏问题【转】
  9. ipoo3可以用鸿蒙,vivo新机入网!支持44W快充 配置与iQOO Neo3类似
  10. Julia :元编程、宏
  11. 创建win10介质进度为0_win10介质创建工具(media creation tool)下载_win10介质创建工具(media creation tool)官方下载-太平洋下载中心...
  12. py错误jupyter:某个缩进Unindent不匹配任何外部缩进 IndentationError: unindent does not match any outer indentation
  13. 【无标题】报班第一节课
  14. 电路方案分析(十三)采用 CAN 的汽车分立式 SBC 预升压、后降压参考设计方案
  15. STM32H750移植STemWin,驱动ST7789
  16. Android 实现adb手机投屏
  17. Ubuntu系统上编译和安装perl和cpan模块
  18. 打怪小游戏(快做完了)
  19. 雪花算法:分布式唯一 ID 生成利器
  20. buildroot构建根文件系统

热门文章

  1. 03FFmpeg-人生若只如初见
  2. Leoplayer基于HTTP的FLV播放器
  3. 推荐一个视频给你:《愤怒的小鸟Rio》精彩预告片首曝
  4. Linux中提取内核vmlinux并转化为带有symbol name的可分析elf
  5. 理解高并发(9).线程通信之_wait、notify
  6. Linux下4个查找命令which、whereis、locate、find
  7. Java自动装箱与自动拆箱
  8. 平安夜,Python 送你一顶圣诞帽
  9. (006)网络编程,反射及其应用,MySQL数据库
  10. numpy 入门学习 one_day