agc037_e Reversing and Concatenating

agc037_e Reversing and Concatenating

https://atcoder.jp/contests/agc037/tasks/agc037_e

https://img.atcoder.jp/agc037/editorial.pdf

Snipaste_2020-02-01_18-34-01.png

Snipaste_2020-02-01_18-34-11.png

Tutorial

\(a\) 为第一次 \(U\) 中字典序最小的字符, 设 \(L\) 为它在 \(U\) 中最长的连续段长度, 那么最后串的开头就会有 \(\min \{ 2^{K - 1} L, N \}\)\(a\) .

\(2^{K - 1}L \ge N\) 时, 答案就是 \(N\)\(a\)

否则, 考虑过程中

  • 在第 \(i\)\((i < K)\) , \(2^{i - 1}L\)\(a\) 必须在串的末尾.
  • 在第 \(K\) 步, \(2^{K - 1}L\)\(a\) 必须在串的开头.

第一步的选择有 \(O(n)\) 种, 而第一步选择确定后最终的串就确定了.

复杂度 \(O(n^2)\)

posted @ 2020-06-25 07:58  LJZ_C  阅读(80)  评论(0编辑  收藏  举报