CF797C Minimal string 题解

Posted on 2024-03-02 17:04  _XOFqwq  阅读(5)  评论(0编辑  收藏  举报

令输入的字符串为 \(s\)\(n\) 为字符串 \(s\) 的长度。

引理:

  • 对于栈顶的字符 \(s_i\),若它的字典序 \(\le\) 栈外的 \(s_{i+1 \sim n}\) 中字典序最小的字符(记为 \(p_{i+1}\)),则它应该出栈并输出。

根据上述引理,我们先预处理出所有的 \(p_i\),然后按照引理生成出栈序列输出即可。

时间复杂度 \(O(n)\)