从2023济南K学习滑动窗口中位数问题
1|0板子
- 对顶堆
- 可删堆
2|0滑动窗口中位数
https://codeforces.com/gym/104901/problem/K
选区间内一个数,让区间内每个数到这个数的距离之和最小,动态维护这个距离之和
首先一个经典结论,这个数就是中位数。
那么问题转化成:滑动窗口维护区间每个数到中位数的距离之和
显然,ans 是所有比中位数
那么我们就是要维护三个信息:
这很像对顶堆,less和large的相关信息都完全可以对应上其中的大根堆和小根堆
单纯的对顶堆,是不支持删除的。
想要维护滑动窗口的中位数,就得结合可删堆。
直接从应用入手,把两个对顶堆改成可删堆其中即可,而对 sum 的动态维护则在可删堆的 push
,pop
,erase
操作中实现即可,非常直观。
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/18445811.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/18445811.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
做题报告(2023+)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示