6447. 【GDOI2020模拟01.19】sort

4 篇文章 0 订阅
2 篇文章 0 订阅

题目

正解

这题一看也是不能写的题目……
用个平衡树来维护。
平衡树维护的是一个 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合并在一起,还是暴力合并。
站在势能分析的角度想一想,时间复杂度是对的……
只不过常数……


总结

不可能打的。
势能分析真妙啊……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值