区间第K值带修改
Q:给定一个序列 1、查询一个L到R的区间内的第K大(小)值。2、修改一个值。
这道神题困扰了我很久,直到学了各种各样的算法才会这道题。
先比较一下流行的算法的效率吧
对于一个长度为N的序列
---------------------------------------------------
暴力:对于一段查询区间每次进行快排。
时间复杂度:
单次查询:O(NlogN)
修改:O(1)
空间复杂度:O(N)
----------------------------------------------------
线段树套平衡树:
单次查询:O(log^3 N)
修改:O(log^2 N)
空间复杂度:O(N^2logn)<

本文介绍了如何解决区间第K值查询与修改的问题,通过将序列分块并排序,实现高效查询与修改。算法包括预处理、修改和查询的操作,具有编程复杂度低、空间复杂度优的特点。

781

被折叠的 条评论
为什么被折叠?



