AtCoder 补题记录


天坑。

AGC 057

C - Increment or Xor

从低到高位建 01 Trie,第 \(i\) 个叶子存着值为 \(i\) 的位置。

考虑两种操作:

  • 操作 A:交换某些深度所有节点的左右儿子(即异或某个数)
  • 操作 B:交换两个同父亲的叶子,同时不改变其他叶子的左右儿子关系(把这个叶子异或上某个数后挪到 \(2^n-1\) 去,然后 \(+1\) 来交换左右叶子)

操作 A 不会应用在最后一层(可以被 \(+2^{n-1}\) 替代),同时根据 \(i\) 所在位置与 \(i+2^{n-1}\) 所在位置的关系,可以确定每组左右叶子是否交换,即 B 操作已经固定了。

模拟完 B 操作后,最后再用 \(1\) 次 A 操作即可。

AGC 001

E - BBQ Hard

相关