当前位置: 首页 > news >正文

qoj4808 Great Party

题意

同 nim 游戏,但是每次操作后可以选择把操作后的石子和另一堆合并。

给出 \(n\) 和长为 \(n\) 数组 \(a\),有 \(q\) 组询问,每次询问给出 \(l,r\),问在 \(a_l\sim a_r\) 内有多少子区间满足先手必胜。

思路

当只有 \(1\) 堆石子时,先手必胜。

当只有 \(2\) 堆石子时,有石子数量不相等时先手必胜(普通 nim 游戏),因为这时候双方都不都不希望减少石子堆数。

当有 \(3\) 堆石子时,先手可以把石子取成 \(2\) 堆相等的石子,先手必胜。

当有 \(4\) 堆石子时,同理双方都不希望减少石子堆数,否则会变成上面的必胜局面,因此每堆石子最多剩 \(1\) 个,之后堆数便会减少,于是跟普通的 nim 游戏一样当每堆石子数量减 \(1\) 的异或和不为 \(0\) 时先手必胜。

当有 \(5\) 堆石子时,先手想要把局面变成 \(4\) 堆且石子数量减 \(1\) 的异或和为 \(0\) 的局面,显然可以对最大的石子操作。

对于之后的情况,和 \(4\) 堆与 \(5\) 堆石子的情况相同。因此当区间长度为奇数或石子个数减 \(1\) 的异或和不为 \(0\) 时先手必胜,可以使用莫队解决。

http://www.gsyq.cn/news/543.html

相关文章:

  • PHP 性能优化深度指南:那些被忽视的高效策略
  • 解密平台产品管理的核心技术思维
  • ECT-OS-JiuHuaShan在DeepSeek上的提示语
  • 强力漱囗液~西吡氯铵含漱液
  • github仓库推送拉取设置token
  • 你的部署流程已然落伍-热重启的失传艺术
  • 一次“连镜像都被 RST”的 GitHub push 填坑笔记
  • 分布式事务seata
  • 内容
  • 你的项目一团糟-不是你的错-是框架的锅
  • 【神器 Collection】mermaid:编程语言自动生成流程图
  • 《Python 操作 PDF 文件的常见方法-PDF转Word(附在线工具推荐)》
  • freeRTOS的信号量,是不是有点像中断
  • weston 桌面使用及工作架构
  • 滑动窗口
  • helm 部署 prometheus
  • assert 调试断言用法详解
  • 2025.9.8 树套树
  • 复健。(11~20,OI)
  • MIDI简谱播放器1.1程序代码QZQ-2025-8-20
  • python语言网页版MIDI钢琴软件代码QZQ
  • 初识Dataset
  • Day15可变参数
  • 单词的长度
  • 111
  • LIN 的调度表周期和应用任务周期不一致的问题分析
  • 关于我的大三生活
  • 厨房小白学做饭——2.苦瓜炒蛋
  • GJOJ 9/6
  • CF1967D Long Way to be Non-decreasing