题解 仔细审题,我们会发现 小 \(A\) 认为两个操作序列不同,当且仅当操作个数不同,或者至少一个操作不同(种类不同或者操作位置不同). 所以,对于一种操作,不管是交换哪两段,都算作同一种操作,只会对答案贡献一次. 引理 对于一个合法的操作序列,其中的操作可以互换位置,仍为合法序列. 可以自己手动模拟一下,结论很显然. 那么对于每一次操作,设此次操作的长度为 \(len=2^x\),我们将从头开始每 \(len\) 的长度分为一个块,则有 \(2^{n-x}\) 个块. 对于每一个块,我们要保…