关于交互/构造

增量法

与构造有关的题目,可以考虑先构造子结构,再拼接。

栈式拼接:每次在末尾再拼 \(O(1)\)

CF1882E1 Two Permutations (Easy Version) - 洛谷

CF804E The same permutation - 洛谷

树形拼接:几个部分拼成整体

看起来完全不可做的最小操作问题

猜测最优方案只操作 \(O(1)\) 次。

大数的构造:考虑类二进制构造

  • \(\{1, 2, 4, 8, \dots, 2^n\}\) 可以拼出所有 \([0, 2^{n + 1} - 1]\) 中的所有数字。
  • 斐波那契数列可以拼出所有正整数。
  • \(\{\binom21, \binom31, \binom42, \binom52, \binom63,\dots\}\) 可以拼出所有正整数。

构造方法均为贪心。

CF715D Create a Maze - 洛谷

猜排列问题

通用技巧

随机化,根据限制猜复杂度。

CF1364E X-OR - 洛谷

CF2150E2 Hidden Single (Version 2) - 洛谷

Permutation - Problem - QOJ.ac

寻找特殊操作

CF1764G3 Doremy's Perfect DS Class (Hard Version) - 洛谷

树上猜点

可以考虑猜深度。

Menji, we miss you! - Problem - QOJ.ac

排列置换

可以考虑把排列 A 先换到一个中转站,再去 B。

posted @ 2026-09-21 16:15  porse  阅读(5)  评论(0)    收藏  举报