题目
正解
这题一看也是不能写的题目……
用个平衡树来维护。
平衡树维护的是一个
T
r
i
e
Trie
Trie的序列。每个
T
r
i
e
Trie
Trie表示这段区间中所有数都会排序一遍。
进行各种操作时,首先会将至多两个节点的
T
r
i
e
Trie
Trie分裂。分裂
T
r
i
e
Trie
Trie会新增
O
(
lg
n
)
O(\lg n)
O(lgn)个节点。
然后将整段区间旋到一棵子树内,然后打标记。平衡树和
T
r
i
e
Trie
Trie上都要打标记。
排序是时候将若干个
T
r
i
e
Trie
Trie合并成一个。
由于这些
T
r
i
e
Trie
Trie是带标记的,所以要将标记下传。
T
r
i
e
Trie
Trie树上标记下传时,如果两棵子树要合并到一起,就暴力合并吧……
若干个
T
r
i
e
Trie
Trie合并在一起,还是暴力合并。
站在势能分析的角度想一想,时间复杂度是对的……
只不过常数……
总结
不可能打的。
势能分析真妙啊……