Poj 2559 Largest Rectangle in a Histogram(柱形统计图中的最大矩形面积)
2015-06-30 19:48
387 查看
给出一个柱形统计图中,求其中的最大矩形面积
做完这道题,搜了一下题解大部分基本都是单调栈......然而做之前并不知道这是什么,其实用递推也可以做这道题,理解起来比较容易。
用两个数组l,r记录当前坐标可以向左和向右延伸的最远位置的坐标,然后就是递推了。
初始时将l[i],r[i]的值置为i,即自己的坐标。这里拿l[i]举例:
从左向右扫描统计图,计算当前位置的l[i]时,如果h[i] > h[ l[i] - 1 ]的话,那么l[i] = l[ l[i]-1 ]。
然后对于每个位置,ans = max(h[i]*(r[i] - l[i] + 1))
给出一个柱形统计图中,求其中的最大矩形面积
做完这道题,搜了一下题解大部分基本都是单调栈......然而做之前并不知道这是什么,其实用递推也可以做这道题,理解起来比较容易。
用两个数组l,r记录当前坐标可以向左和向右延伸的最远位置的坐标,然后就是递推了。
初始时将l[i],r[i]的值置为i,即自己的坐标。这里拿l[i]举例:
从左向右扫描统计图,计算当前位置的l[i]时,如果h[i] > h[ l[i] - 1 ]的话,那么l[i] = l[ l[i]-1 ]。
然后对于每个位置,ans = max(h[i]*(r[i] - l[i] + 1))
相关文章推荐
- android 学习笔记-1
- 【Java TCP/IP Socket】基于NIO的TCP通信(含代码)
- Linux基础指令大全
- Oracle 10g/11g 导入导出整理
- win8.1打不开oracle11g的Database Configuration Assistant和Net Configuration Assistant
- Java实现几种常见排序方法
- Oracle_关联查询
- MySql的导入与导出
- 面试题7:用两个栈实现队列
- 有向图欧拉回路 hihoCoder1182 欧拉路·三
- 循环获取本地相册图片
- Linux 下 signal 机制
- 消息总线重构之EventBus
- 桥接(brctl)
- 黑马程序员-OC语言-self修饰变量以及使用总结和注意事项(听课笔记)
- 从零开始搭建Ghost博客
- Teamcenter PSM(一)
- 调用 RegLoadKey 失败,返回错误码1314的原因及解决办法
- [Code VS 1773]创新吃鱼法
- Scala动手实战入门