算法与数据结构 4 - 主席树(可持久化权值线段树)
0. 主席树的名字
主席树和主席没有关系。
它之所以叫主席树,是因为它的发明者叫 HJT ,和时任这一职务的那个人一样。
1. 例题
静态查询数组
一种暴力的方法是:每次询问对区间进行排序。这样的时间复杂度是
2. 二分的应用
先来考虑:假如已经知道值域
如果出现次数
然后,为了求出
3. 权值线段树和可持久化数据结构
在权值线段树中,若节点
对于限定的
为了解决空间不够的问题,需要对插入操作进行一些改进。可以发现线段树的单点修改最多改变
4. 总结
主席树是一种可持久化数据结构,通过查询两个历史版本实现了类似于前缀和的效果,实现了求出
本文来自博客园,作者:cwkapn,转载请注明原文链接:https://www.cnblogs.com/chenaknoip/p/18666927
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)