连续值域区间个数(经典题)
1|0连续值域区间个数(经典题)
1|1题目大意
RT,求一个排列的连续值域区间个数
1|2数据范围
1|3解题思路
题目描述这么短说明它是一个经典题(也指我不会的那种题)
连续值域区间的性质 即
对于任意一个区间,总有
有了这两点性质就可以用单调栈和线段树来做了
具体来说,两个单调栈分别维护最大最小值,线段树维护最小值(val = max - min)及最小值个数
每加一个数进来要整体减一表示 r++,查询当前最小值是否为 0 和其个数即可
代码没必要了
update:补一个不用单调栈的做法
不用单调栈啊,你将 和 连边,那么有 生产子图边数 =
像上面一样直接线段树即可
update:补一个 cdq 做法
考虑跨过中点的连续值域区间个数,先考虑一种情况,对右边取前缀最大值和前缀最小值,使用桶和队列维护,具体来说,我们强制最小值在左边,最大值在右边,同理我们将序列反过来再跑一遍。另外单独考虑最大值最小值在同一侧的情况
这个给个代码,但不是我的,详见这里
__EOF__

本文作者:Hs-black
本文链接:https://www.cnblogs.com/Hs-black/p/13303148.html
关于博主:一名高二OIer, 热爱算法竞赛和数学. 评论和私信会在第一时间回复。或者直接私信我
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Hs-black/p/13303148.html
关于博主:一名高二OIer, 热爱算法竞赛和数学. 评论和私信会在第一时间回复。或者直接私信我
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
分类:
UOJ, LOJ及其他OJ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】