发布时间:2026/8/7 8:12:25
洛谷 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

相关新闻

2026/8/7 8:07:25

Unity3D集成伏羲气象数据:打造实时动态天气系统的架构与实践

1. 项目概述:当Unity3D遇见伏羲模型数据最近在做一个挺有意思的项目,核心目标是把专业的气象数据——具体来说,是伏羲模型的数据——无缝集成到Unity3D引擎里,打造一个能实时驱动、高度沉浸的三维动态天气模拟系统。这听起来可能有…

2026/8/7 9:07:28

SiC471 microBUCK DCDC转换器

1、描述SiC47x系列是一款宽输入电压、高效率的同步降压稳压器,集成了高侧和低侧功率MOSFET。其功率级能够在高达2MHz的开关频率下提供大连续电流。该稳压器可在4.5V~55V的输入电压范围内,输出可调节的输出电压(低至0.8V),适用于计算、消费电子、电信及工业等多种应用场景。…

2026/8/7 9:07:28

Node.js项目依赖管理:从package.json到生产部署的稳定基石

这次我们来看一个看似基础,但很多开发者其实并未完全掌握的 Node.js 核心知识。项目标题“同事以为你早就會的 Node.js 基本功”点出了一个普遍现象:很多开发者能跑通项目,但对 Node.js 生态中的包管理、模块解析、版本锁定等底层机制一知半解…

2026/8/7 9:07:28

SonarQube使用教程(Docker安装)

一、SonarQube介绍: 面向多语言的代码质量与安全静态分析平台 1、组成: ① sonarQube:web界面管理平台 1)展示所有的项目代码的质量数据。 2)配置质量规则、管理项目、配置通知、配置SCM等。 ② sonarScanner&#…

2026/8/7 9:07:28

FLTK GUI编程入门:轻量级跨平台C++界面开发实战指南

1. 项目概述:为什么选择FLTK作为GUI入门如果你刚开始接触图形用户界面(GUI)编程,面对Qt、wxWidgets、GTK这些庞然大物,可能会感到无从下手。它们功能强大,但随之而来的是复杂的构建系统、庞大的依赖库和陡峭…

2026/8/7 9:02:28

Node.js+Vue.js全栈甜品商城:毕业设计实战与部署指南

这次我们来看一个基于 Node.js 和 Vue.js 的甜品网上商城系统,这是一个典型的 2026 届计算机毕业设计项目。对于即将毕业的同学来说,一个功能完整、技术栈主流、能跑通前后端全流程的商城系统,是展示自己综合能力、应对答辩和求职的绝佳选择。…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/7 0:01:55

CAD图库管理:从文件归档到设计资产管理的效率革命

你肯定遇到过这种情况:打开一个老项目,想找某个特定的图块——比如一个标准的门、一个特定的设备符号,或者一个公司logo。你记得它就在某个DWG文件里,或者曾经从某个同事那里拷来过。于是,你开始在一堆命名混乱的文件夹…

2026/8/7 0:01:55

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer是一款功能强…

2026/8/7 0:01:55

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属…

2026/8/5 19:21:13

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/6 20:45:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…