hdu 2830 逐行扫描dp求最大完全矩形
来源:互联网 发布:mac chm阅读器 最好的 编辑:程序博客网 时间:2024/05/26 02:52
求最大完全矩形的基本思想就是以每一行作为底,因为任意列可以调用,我们记录当前行为底的时候以某一个点的高度,然后排序,从大到小的排序,然后扫描到后面每一个点的高度为矩形高度的最大矩形面积就是h[i]*i
具体步骤如下:
很好的思路
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define MAX 1007using namespace std;int n,m;char s[MAX];int h[MAX];int num[MAX];int main ( ){ while ( ~scanf ( "%d%d" , &n , &m ) ) { int ans = 0; memset ( h , 0 ,sizeof ( h ) ); for ( int i = 1 ; i <= n ; i++ ) { scanf ( "%s" , s+1 ); for ( int j = 1 ; j <= m ; j++ ) { if ( s[j] == '1' ) h[j]++; else h[j] = 0; num[j] = h[j]; } sort ( num+1 , num+m+1 ); int j; for ( int j =m ; j >= 1 ; j-- ) ans = max ( ans , num[j]*(m-j+1) ); } printf ( "%d\n" , ans ); }}
0 0
- hdu 2830 逐行扫描dp求最大完全矩形
- HDU 1081 求最大子矩形 dp
- HDU 1056 Largest Rectangle in a Histogram(dp)(求最大的矩形面积)
- [HDU 1506] 单调栈求最大矩形
- HDU 2830 dp最大完全矩阵Matrix Swapping
- hdu 2830(矩形dp)
- hdu 1505 && hdu1506 &&hdu 2830 && 2870 总结---------DP之状图选最大矩形
- HDU 1505 DP 最大完全子矩阵
- HDU 1506 DP 最大完全子矩阵
- HDU 2870 DP 最大完全子矩阵
- poj 1964 DP 求最大子矩形面积
- HDU 1505 1506 2830 2870求最大矩阵面积 DP
- 求最大矩形面积
- hdu 2870 1506增强版 求最大矩形
- HDU 1506 dp求最大子矩阵 *
- #HDU 1506 dp求最大子矩阵
- HDU 2830 最大完全矩阵
- HDU-2830最大矩形问题(三)
- 黑马程序员——IO流--转换流和键盘输入、File类
- Javascript 阻止冒泡
- 考题一:研究对全排列着色的性质 问题 A: 首先需要生成 n 的全排列然后对 n 的全排列进行着色, 使得相邻的两个数只需用最少颜色就可以把相邻的两个数用那区分开. (这里相邻包含两层含义:同时在自然
- C 算法精介----链表->单链表
- Hibernate和IBatis对比
- hdu 2830 逐行扫描dp求最大完全矩形
- struts.i18n.encoding的作用
- 支持每个item展开的listview
- Spring MVC和Struts2的比较
- javascript异步处理与Jquery的deferred对象总结
- html5各种svg元素炫酷弹性动画特效
- 【BZOJ1071】【SCOI2007】组队 利用单调性的双指针
- php安装pear
- Struts2之动态方法调用(优点:调用同一个action中的多个方法不需要在配置文件中写多个指向相同action类的的action节点只需要一个action节点就行)