阶梯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个扔回偶数层。相当于什么事也没发生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值