洛谷 P2972:Rocks and Trees G ← 树上Nim博弈
【题目来源】https://www.luogu.com.cn/problem/P2972【题目描述】两个人在一棵有根树上玩 Nim 阶梯游戏。给出一棵有 N 个结点的有根树节点 1 为根每个结点有两个属性 Pi 和 RiPi 表示结点 i 的父亲结点Ri 表示结点 i 的石头数结点 1 没有石头。游戏在两个玩家之间轮流进行Ted 先手。在每一轮这轮的玩家可以选择一个非根结点并且把最多 L 个石头从这个结点向树根靠近一个单位也就是说把这些石头移动到它的父结点处。并且这个玩家至少需要移动一个石子。当某个玩家没有办法移动石子的时候也就是所有的石子都移动到结点 1)游戏结束这个玩家失败。Ted 将会对布局进行 T 次修改。请帮助他确定在每步修改之后以这个布局开局在双方都用最优策略的前提下他是否能赢得这个游戏。Ted 的每次修改由两个数字 x 和 y 描述表示 Ted 将会把结点 x 的石头数修改为 y注意这是一个“设定”操作既不是“减少”也不是“增加”。并且询问修改后谁会获胜。这些修改会累积保持也就是若往后的操作结点 x 的石头数没有修改则结点 x 的石头数会保持在 y个。【输入格式】第 1 行三个空格分隔的整数 N、T 和 L。第 2~N 行每行包含两个空格分隔的整数 Pi 1≤Pii和 Ri1≤Ri≤1000。接下来 T 行每行两个整数 Aj(1Aj≤N) 及 Bj(1≤Bj≤1000)表示 Ted 的每次操作。【输出格式】输出 T 行。如果在第 i 次修改后Ted 可以获胜那么第 i 行输出 Yes否则输出 No。【输入样例】3 2 101 51 32 33 1【输出样例】NoYes【数据范围】2≤N≤10^41≤T≤10^41≤L≤10^3【算法分析】● “洛谷 P2972Rocks and Trees G”整体是树上台阶 Nim即将台阶 Nim 的线性台阶扩展到树形结构深度奇偶替代台阶奇偶每次操作将石子从非根节点移至父节点偶数深度节点可作为“安全缓冲区”被对手模仿抵消因此只有奇数深度节点参与胜负判定。每个奇数深度节点上的石子数记为 cnt受取子上限 L 限制每次只能取 1 到 L 颗这使其单堆退化为巴什博奕SG 值为cnt % (L1)。最终将各奇数深度节点的 SG 值异或若异或和不为零则先手必胜否则先手必败。● SG 值Sprague–Grundy 值 是组合博弈论里用来给公平组合游戏ICG中每一个局面打分的整数核心作用是把五花八门的游戏统一成“和 Nim 一样”的玩法。1每个游戏状态对应一个 SG 值计算方式为考察该状态所有一步可达的后继状态的 SG 值并取该集合的mex 值即不在集合中的最小非负整数作为当前状态的 SG 值显然SG 值一定是非负整数。例如若当前状态所有一步可达的后继状态的 SG 值集合为 {0, 1, 3}则 mex 2若当前状态所有一步可达的后继状态的 SG 值集合为 {0, 1, 2}则 mex 3若没有后继状态即必败态空集合的 mex 0。2SG 值的判定规则为SG 0 表示必败态SG ≠ 0 表示必胜态。多个独立子游戏的总 SG 值为各子游戏 SG 值的异或和由此将任意公平组合游戏纳入 Nim 博弈的统一框架。3不同博弈的 SG 值差异本质上来源于“从当前局面能走到哪些后继局面”的不同规则决定了后继集后继集决定了 mexmex 进而决定了 SG 值。例如在标准 Nim 中单堆石子数为 x时每次可取任意正整数颗1 到 x其后继集包含 0, 1, ..., x-1因此 SG(x) x而在巴什博奕中单堆石子数为 x、每次最多取 L颗时每次只能取 1 到 L颗后继集被限制在 x-L 到 x-1 之间从而 SG(x) x % (L1)。可见取子范围的宽窄直接改变了后继集的构成进而改变了 SG 函数的形态。●巴什博弈Bash Game是一个涉及两名玩家的双人博弈属于公平组合游戏ICG, Impartial Combinatorial Game的典型例子。博弈中有一堆总数为 n 的物品两名玩家轮流从中拿取物品每次至少拿 1 件至多拿 m 件不能不拿最终将物品拿完者获胜。分析如下1n≤m 时由于一次最少拿一个最多拿 m 个甲可以一次拿完先手赢。2nm1 时无论甲拿走多少个 1~m 个剩下的都多于 1 个且少于或等于 m 个乙都能一次拿走剩余的石子后手取胜。上面两种情况可以扩展为以下两种情况。1如果n%(m1)0即 n 是 m1 的整数倍那么不管甲拿多少如 k 个乙都拿 m1-k 个使剩下的永远是 m1 的整数倍直到最后的 m1 个所以后拿的乙一定赢。2如果n%(m1)!0即 n 不是 m1 的整数倍还有余数 r那么甲拿走 r 个剩下的是 m1 的倍数这样就转移到了情况1相当于甲乙互换结果是甲赢。在这个拿石子的游戏中对于后拿的乙来说是很不利的只有在 n%(m1)0 的情况下乙才能赢其他所有情况都是甲赢。●巴什博奕Bash Game是组合博弈中的一类基础游戏特指单堆石子、每次可取 1 到 L 颗、取走最后一颗者胜的独立玩法。【算法代码】#include bits/stdc.h using namespace std; const int N1e45; int fa[N],cnt[N],dep[N]; vectorint g[N]; int n,T,L; int xor_sum; void dfs(int u) { for(int v:g[u]) { dep[v]dep[u]1; dfs(v); if(dep[v]1) xor_sum^(cnt[v]%(L1)); } } int main() { cinnTL; for(int i2; in; i) { cinfa[i]cnt[i]; g[fa[i]].push_back(i); } dfs(1); while(T--) { int pos,val; cinposval; if(dep[pos]1) { xor_sum^(cnt[pos]%(L1)); xor_sum^(val%(L1)); } cnt[pos]val; cout(xor_sum?Yes\n:No\n); } return 0; } /* in: 3 2 10 1 5 1 3 2 3 3 1 out: No Yes */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/158802621https://blog.csdn.net/hnjzsyjyj/article/details/158893015

相关新闻

基于知识图谱与AI的智能课程生产:从需求分析到自动化生成全链路实践

基于知识图谱与AI的智能课程生产:从需求分析到自动化生成全链路实践

大家好,我是专注于技术实战与经验分享的博主。在数字化转型浪潮中,如何将复杂的产业知识体系化、标准化,并高效地转化为可传播、可学习的数字课程,是许多企业和教育机构面临的核心挑战。这不仅是一个内容生产问题,更是…

2026/8/7 8:12:41 阅读更多 →
51单片机原理图完全解读:从零看懂最小系统与外围电路设计

51单片机原理图完全解读:从零看懂最小系统与外围电路设计

很多同学在刚开始学习51单片机时,面对开发板附带的原理图,常常感到一头雾水。密密麻麻的线条、各种奇怪的符号、英文缩写,让人望而却步,不知道从何看起。这直接导致在后续的编程、调试、甚至硬件连接时,只能机械地照着…

2026/8/7 8:12:41 阅读更多 →
SPI串联电阻布局:信号完整性关键细节与PCB设计实践

SPI串联电阻布局:信号完整性关键细节与PCB设计实践

1. 项目概述:一个被忽视的布局细节 在高速数字电路的设计中,SPI(Serial Peripheral Interface)总线因其简单、全双工、高速的特性,被广泛应用于MCU与Flash、传感器、显示屏等外设的通信。很多工程师,尤其是…

2026/8/7 8:12:41 阅读更多 →

最新新闻

氩气成本持续上涨,试试氩气节气阀

氩气成本持续上涨,试试氩气节气阀

目录 一、氩气在焊接工艺中的价值与成本现状 二、传统供气模式难以规避的用气痛点 三、WGFACS 氩气节气阀如何实现气体零浪费 四、车间落地使用的现实意义 结语 一、氩气在焊接工艺中的价值与成本现状 氩气是氩弧焊最核心的惰性保护气体。焊接作业时,氩气在焊…

2026/8/7 8:57:01 阅读更多 →
解析|具身智能:让机器人拿一瓶可乐的几秒里,需要调动哪些核心功能?

解析|具身智能:让机器人拿一瓶可乐的几秒里,需要调动哪些核心功能?

让机器人拿一瓶可乐,感知说‘在那’,认知说‘能喝’,规划说‘够不着’ ——环环相扣∞ 目录 01 感知:不是“装了摄像头”,而是形成可行动的状态 02 认知:不是“识别到了”,而是理解它…

2026/8/7 8:57:01 阅读更多 →
远程开机插座怎么选?2026年6款智能插座盘点

远程开机插座怎么选?2026年6款智能插座盘点

随着混合办公和远程协作成为常态,远程开机早已从“极客玩具”变成了上班族和学生党的刚性需求。下班后发现文件落在公司电脑里、周末急需调用家里NAS的数据、或者身处异地需要维护服务器——这些场景下,一个靠谱的远程开机插座就是关键时刻的“救命稻草”…

2026/8/7 8:57:01 阅读更多 →
PyTorch深度学习入门:从环境搭建到第一个神经网络项目实战

PyTorch深度学习入门:从环境搭建到第一个神经网络项目实战

最近在辅导几位刚接触深度学习的同学时,发现他们普遍卡在了第一步:环境搭建和框架选择。面对网上零散的教程、复杂的版本匹配和层出不穷的报错,从入门到放弃往往只需要一个下午。为了彻底解决这个问题,我结合多年的项目经验和教学…

2026/8/7 8:56:00 阅读更多 →
TCAV:从特征归因到概念测试,实现模型决策的语义级可解释性

TCAV:从特征归因到概念测试,实现模型决策的语义级可解释性

1. 从“黑盒”到“概念”:为什么我们需要超越特征归因的可解释性? 在机器学习,尤其是深度学习领域,模型的可解释性一直是个老大难问题。我们训练出一个在测试集上表现优异的模型,但当它做出一个关键决策时,…

2026/8/7 8:56:00 阅读更多 →
TRAE SOLO:基于本地大模型的Git仓库深度分析与移动端开发排错实战

TRAE SOLO:基于本地大模型的Git仓库深度分析与移动端开发排错实战

1. 从一次移动端开发中的“诡异”Git提交说起 最近在负责一个移动端项目的迭代,团队里有个新来的小伙伴,在完成一个功能模块后,信心满满地提交了代码。结果,CI/CD流水线直接亮起了红灯,构建失败。更让人头疼的是&#…

2026/8/7 8:56:00 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →