[HAOI2015]数组游戏

这篇博客介绍了如何解决一种翻棋子的游戏问题。通过将游戏视为翻转每个棋子的组合,博主提出利用sg函数值进行状态转移。观察到in取值相同时sg函数值相同,博主采用分块策略,将in相同的部分归为一组,并根据n的两部分进行计算。转移过程中,博主详细解释了如何处理每个块,并给出了复杂度分析。
摘要由CSDN通过智能技术生成

一、题目

点此看题

二、解法

这类翻棋子游戏有一个套路,可以把原游戏看成翻每一个棋子的组合游戏。

想要求出每一个子游戏的 s g sg sg函数值,转移时可以继续把后面的棋子拆成若干个子游戏,设 s g [ i ] sg[i] sg[i]为第 i i i个位置的 s g sg sg函数,转移就是 s g sg sg函数前缀和。

打表可以发现 n i \frac{n}{i} in取值相同时 s g sg sg函数值相同,其实这也不难意会,因为 n i \frac{n}{i} in相同,所以后面能翻棋子的分布是差不多的,这就导致游戏会产生相同的结果(都说是意会,这么认真干嘛)

考虑分块做法 n i \frac{n}{i}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值