Loading

Corrupted File

思路

题意

给定 0101α,β\alpha, \beta
每次可以将 α\alpha 中的一段合并成段中与和, 是否可能将 αβ\alpha \to \beta

注意到逆向思维仍然不好处理, 考虑就正着做

考虑贪心的构造方式, 也就是尽可能把选择权留到后面去
不难发现对于 \(\alpha, \beta\) 前后都有的 \(1\) , 我们先把他去掉
然后形似

\[\alpha = \{0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0\} \\ \beta = \{1, 0, 1, 1, 1, 0\} \]

模拟一下不难发现

  • 对于 \(\beta\) 中的连续 \(1\)
    必须找到 \(\alpha\) 中一个长度相当的连续 \(1\) 段, 一直向后跳着找即可
  • 对于 \(\beta\) 中的连续 \(0\)
    必须找到 \(\alpha\) 中一个 \(0\) , 才能构造出 \(\beta\) 中的一个 \(0\)
    两旁的 \(1\) 直接加入 \(0\) 段, 与和仍然不变, 为 \(0\)

总结

贪心的构造方法, 往往应该把选择权留到后面去

posted @ 2025-03-05 08:15  Yorg  阅读(15)  评论(0)    收藏  举报