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

CodeForces-2004E Not a Nim Problem

Codeforces-2004E Not a Nim Problem

\(n\) 堆石子,数量为 \(a_1,\cdots,a_n\),每次可以取走的数量 \(y\) 与原来的数量 \(x\) 必须满足 \(\gcd(x,y)=1\)

不能行动的人判负。请判断 Alice(先手)和 Bob 谁会获胜。

\(1\le T\le10^4\)\(1\le n,\sum n\le3\cdot10^5\)\(1\le a_i\le10^7\)

首先考虑只有一堆的情况,\(n\) 堆的情况直接利用 SG 定理,对 SG 值取异或和即可。

首先 \(x=1\) 为必胜状态。\(x=2\) 为必败状态,因为只能拿 \(1\) 个。从而 \(x=3\) 为必胜状态,因为可以转移到 \(2\)

数学归纳法:假设 \(x=2k\) 都为必败状态,\(x=2k-1\) 都为必胜状态,\(k=1,2,\cdots\)。那么 \(x=2k+1\) 时,由于 \(\gcd(2k+1,1)=1\),因此可以转移到 \(2k\),是必胜状态;\(x=2k+2\) 时,只能转移到奇数,因此是必败状态。

综上,对于单独一堆石子,奇数必胜,偶数必败。

然而对 \(n\) 堆石子,我们还需要考虑每一堆的 SG 值

由于 \(\gcd(x,x-y)=\gcd(x,y)\),所以 \(x\) 能转移到 \(x-y\) 当且仅当 \(\gcd(x,x-y)=1\)

写出前几个奇数的 SG 函数:

1 3 5 7 9 11 13 15 17 19 21 23 25 27 ……
1 2 3 4 2 5 6 2 7 8 2 9 3 2 ……

注意到,如果奇数 \(x\) 是第 \(s\) 个质数,那么 \(SG(x)=s\);否则设 \(y\)\(x\) 的最小质因数,那么 \(SG(x)=SG(y)\)。特别地,\(SG(1)=1\)

这种规律的意义是显然的(\(y\)\(x\) 第一个无法转移的数,根据 SG 函数的定义,\(SG(x)\) 为可转移的状态集合的 SG 的 mex)。

可以利用数学归纳法来严格证明,这里省略。

由此,我们可以利用筛法(埃氏筛或线性筛)求出所有数的 SG 值,再进行异或即可。

当然,不管是埃氏筛还是线性筛,我们只筛奇数就可以了。

void init() { // 埃氏筛SG[1] = 1;int cnt = 1;for (int i = 3; i <= 10000000; i += 2) {if (!vis[i]) {SG[i] = ++cnt;if ((long long)i * i > 10000000) continue;for (int j = i * i; j <= 10000000; j += i * 2) {if (!SG[j]) SG[j] = cnt;vis[j] = true;}}}return;
}
void init() { // 线性筛SG[1] = 1;int cnt = 1;for (int i = 3; i <= 10000000; i += 2) {if (!vis[i] && (i & 1)) pri[SG[i] = ++cnt] = i;for (int j = 2; j <= cnt && i * pri[j] <= 10000000; j++) {vis[i * pri[j]] = true;SG[i * pri[j]] = SG[pri[j]];if (i % pri[j] == 0) break;}}return;
}
http://www.jsqmd.com/news/366314/

相关文章:

  • 机房线缆乱得像麻花?老网工聊聊五种实打实的治理路子
  • ASP.NET Core开发企业级应用的实践指南:从架构设计到落地部署
  • 热力学仿真辅助随机森林:一种融合热力学仿真与随机森林的船舶发动机可解释故障诊断方法
  • 跨平台RPA自动化工具:用Python简化桌面应用控制流程
  • 用数据说话 AI论文软件 千笔·专业学术智能体 VS 笔捷Ai 继续教育写作神器
  • AI PPT工具选择困境破解:Banana Slides与NotebookLM Slide Deck决策指南
  • 2026年2月网带输送机品牌推荐,高温耐腐蚀性能深度测评 - 品牌鉴赏师
  • 探索RTranslator:隐私保护的实时翻译创新方案
  • 一遍搞定全流程!千笔·专业论文写作工具,本科生专属神器
  • 想在2026年顺利注册企业微信?这份申请注册电话使用指南请收好 - 品牌2025
  • 2026Q1库尔勒财税公司排名|口碑+资质双认证,企业选型必看指南 - 品牌智鉴榜
  • 说说我的内心 - 枝-致
  • 3步实现招聘信息时效性可视化:Boss招聘时间显示插件提升求职效率300%
  • 说说内心的想法 - 枝-致
  • 5个高效方法,让你的安卓设备实现跨设备控制 - QtScrcpy完全指南
  • 2026年上海阿里邮箱服务商客服电话是多少?官方最新公布 - 品牌2025
  • P0917GZ FBM240输入输出模块
  • 靠谱的新能源铝合金管材厂家推荐,聊聊国强和茂实力怎么样 - 工业品网
  • 完整教程:京东的一次范围经济尝试,却改变了汽车营销游戏规则
  • 掌握12个Neovim快捷键技巧:从新手到专家的四阶训练法
  • 2026年天津自动称重仪生产企业排名,慧芯科技等靠谱品牌推荐 - 工业设备
  • 前端语音组件开发指南:从零构建高性能FunASR实时语音转写应用
  • 探讨乙方吸塑公司的GAG吸塑质量怎么样,深圳地区这家公司性价比高吗? - 工业推荐榜
  • 2025 最新上海防水补漏公司 TOP5 评测!优质企业及施工单位选择指南,专业技术 + 全场景解决方案权威榜单发布,守护建筑百年防水安全 - shruisheng
  • 剖析大坝安全监测系统哪个生产工艺好,为你精准支招 - 工业品牌热点
  • 大模型实习模拟面试之快手AI Agent开发实习生二面:RAG评测体系、Agent智能优化与全排列手撕详解
  • P0972ZA FCM100E 现场总线通信模块
  • 阿里云邮箱华东区域服务商有哪些?2026年选型避坑指南来了 - 品牌2025
  • PromptWizard提示词优化框架全解析:技术原理与实践指南
  • P0926GS FCM100Et通信卡