【题解】P9512 [JOI Open 2023] 古代机器 2 / Ancient Machine 2

https://www.luogu.com.cn/problem/P9512

  • 前 100 个位置:假设已经知道了 \(s_{1\sim p}\),现在询问 \(s_{p+1}\)。构造前 \(p\) 步都是走向 \(i+1\),而第 \(p+1\) 步根据 0/1 结果选择一个自环。
  • 后 100 个位置:假设已经知道了一个后缀,那么往前面加一个 0,构造 kmp 自动机,最后若匹配则知道新加的位置是 0 还是 1。
  • 构造两个环,求出 \(\oplus s_{a+kl}\)。其中 \(a\le l,l\le 51\),方程组进行消元可以得到 800 多个方程。

三部分拼一起就可以通过。

posted @ 2026-11-04 22:28  TallBanana  阅读(10)  评论(0)    收藏  举报