• 2018 CERC 混合博弈


    N堆石子 先手最多拿A个 后手最多拿B个 每次都至少要拿一个 谁先取完谁赢

    如果A和B相等直接就是一个bash博弈

    如果一个石堆的石子数少于min(A,B) 则是个nim游戏

    我们先讨论只有N=1且A1>min(A,B)的情况 这种情况下无论谁先手 都是拿的多的人赢

    因为假设X=A1%B 如果拿的多的人是先手 直接拿X个就赢 如果拿的多的人是后手 则假设先手拿的是Y个

    当Y<=X时 则后手再拿X-Y个就赢了 当Y>X时 则后手拿X+B-Y就赢了

    同理可证只要有两堆Ai>min(A,B)则就是拿的多的赢 但是有个特殊情况 是只有一堆>min(A,B) 其他堆都<=min(A,B)

    这样先手有一种方法可以赢 就是把这个特殊的堆拿到<=min(A,B) 且和其他堆的异或起来为0 简单的来说 就是先手如果可以把这堆拿成一个必胜的nim游戏的话 先手可以赢

  • 相关阅读:
    伸缩布局
    布局样式
    求最小子数组01
    构建之法阅读笔记02
    第四周学习进度条
    随机生成四则运算03
    用户随机输入一组整数求出最大值
    第三周学习进度条
    随机生成四则运算表达式02
    jsp函数的使用
  • 原文地址:https://www.cnblogs.com/Aragaki/p/11644501.html
Copyright © 2020-2023  润新知