CF936C Lock Puzzle

由这道题生发的感慨。

观察数据 n ≤ 2000 n\leq 2000 n2000 q ≤ 6000 q \leq 6000 q6000

这道题至少有 6 种构造方式:

  1. 把 1~i 放到末尾,运用 3 步把 i + 1 还原
    请添加图片描述
  2. 把 i ~ 1 放到末尾,运用 3 步把 i+1 放到前面
    请添加图片描述
  3. 还是 3 步还原一个

请添加图片描述
4. 再来一个 3 步的

请添加图片描述
5. 抽取 s[l,r] = t[i,j] ,奇数次操作在左边插一个,偶数次操作在右边插一个(最开始可以理解为空串或中位数)

请添加图片描述
6. 假设已经还原了 s[1,i] ,s[n-i+1,n] 。两边往中间走

请添加图片描述

可以这么搞:

在这里插入图片描述
像这样 不限制最小步数 的构造问题还是蛮简单的。(Baggage 这道题首先还要猜出最小为 n 步,再进行下一步构造,还要打表找方案之属的比较麻烦)

posted @ 2022-05-12 10:54  仰望星空的蚂蚁  阅读(20)  评论(0)    收藏  举报  来源