单调栈、单调队列
qiusuo800
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1723 Distribute Message
1.题目 http://acm.hdu.edu.cn/showproblem.php?pid=1723 2.分析 类似于阶梯问题,只不过此处,当处理i的时候,决策前i-1个,即为min(M,i) 3.复杂度 时间复杂度O(N^2);空间复杂度O(N); 4.涉及内容 动态规划 5.感想 本道题让我想起了对于求单调递增子序列(LIS)中的O(NLogN)的优化思路:在积累的索引原创 2013-10-01 11:02:52 · 659 阅读 · 0 评论 -
hdu 1506 Largest Rectangle in a Histogram
1.题目 http://acm.hdu.edu.cn/showproblem.php?pid=1506 2.分析 通过本题我认识了一个新的数据结构---“单调栈”。通过单调栈,可以快速求出以当前元素为最小(大)值的区间,这样用最小(大)值乘以区间长度即可。 3.复杂度 O(N) 4.涉及内容 数据结构:单调栈 5.感想 单调栈解决的是以某个值为最小(最大)值的最大区间,实现方原创 2013-10-01 10:32:26 · 685 阅读 · 0 评论 -
单调栈
1.作用 单调栈解决的是以某个值为最小(最大)值的最大区间 2.实现原理 求最小值(最大值)的最大区间,维护一个不存在相等条件的严格递增(严格递减)的栈,当遇到一个比栈顶小(大)的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小(更大)的值来了,也可以在弹出的过程中计算被弹掉的值得右边的最大区间。 3.复杂度 貌似O(N)原创 2013-10-31 14:56:21 · 669 阅读 · 0 评论
分享