阶梯Nim 与【JZOJ 5500】 营养餐

Description

给定一棵树,每个点有两种信息 ai,bi
有两个人A,B在树上博弈,每次一个人可以且必须选择将一个点的 ai 减少若干,并使整棵树每个节点时刻满足
这里写图片描述 Child(i) 表示 i 的直接儿子集合
无法操作者输
求先手必胜还是必败
n5104

Analysis

num(i)=aicchild(i)acbc ,则任意时刻有 i,num(i)0
假设一次操作在点 x 处拿走 y ,则影响为 num(x)=y,num(fa(x))+=y
这样就是一个阶梯Nim的模型了
直接对整棵树做阶梯Nim即可,需要注意的是 bi=0 i 点不会影响到 fa(i) ,判断一下就好了

阶梯Nim

定义:每个阶梯上有石子,每次操作可以使上一层阶梯的若干个石子扔到下一层,第一层仍下去相当于消失
结论:忽略偶数层的影响,对奇数层做Nim游戏即可
我们可以构造出一种策略:
假设后手动奇数层,先手也跟着动奇数层,什么事也不会发生(把石子丢进偶数层相当于消失)
如果后手动偶数层并使得 x 个石子掉入奇数层,先手再将那 x 个扔回偶数层。相当于什么事也没发生

你可能感兴趣的:(题解,博弈论)