HDU 1505 City Game (最大子矩形面积)
2015-02-07 17:40
344 查看
题目链接: 轻点我一下 >3<
本题和 HDU1506 很像 不过本题要对前i行求最大子矩形面积 进而可得最大子矩形面积 - - 需要注意的是关于高度的读入 要仔细想一想
不要忘记每次清零h高度数组
AC代码如下:
本题和 HDU1506 很像 不过本题要对前i行求最大子矩形面积 进而可得最大子矩形面积 - - 需要注意的是关于高度的读入 要仔细想一想
不要忘记每次清零h高度数组
AC代码如下:
// // HDU 1505 City Game // // Created by TaoSama on 2015-02-07 // Copyright (c) 2014 TaoSama. All rights reserved. // #include <algorithm> #include <cctype> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <iomanip> #include <iostream> #include <map> #include <queue> #include <string> #include <set> #include <vector> #define CLR(x,y) memset(x, y, sizeof(x)) using namespace std; const int INF = 0x3f3f3f3f; const int MOD = 1e9 + 7; const int N = 1e5 + 10; int l[1005], r[1005], h[1005]; char a[5]; int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); // freopen("out.txt","w",stdout); #endif ios_base::sync_with_stdio(0); int k; cin >> k; while(k--) { int n, m; cin >> n >> m; int ans = -INF; CLR(h, 0); h[0] = h[m + 1] = -1; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { cin >> a; if(a[0] == 'F') ++h[j]; else h[j] = 0; } for(int j = 1; j <= m; ++j) l[j] = r[j] = j; for(int j = 1; j <= m; ++j) while(h[l[j] - 1] >= h[j]) l[j] = l[l[j] - 1]; for(int j = m; j >= 1; --j) while(h[r[j] + 1] >= h[j]) r[j] = r[r[j] + 1]; for(int j = 1; j <= m; ++j) ans = max(ans, (r[j] - l[j] + 1) * h[j]); } cout << ans * 3 << endl; } return 0; }
相关文章推荐
- hdu 1505 City Game 最大矩形面积 单调队列
- HDU 1505 City Game (单调栈+最大子矩阵面积)
- HDU 1505 City Game【矩阵的最大面积】
- hdu 1505 (求一个最大的空闲矩形的面积)
- hdu1505 City Game (最大子矩形)
- City Game - HDU 1505 最大内部矩形
- Hdu 1505 City Game (DP求最大面积)
- HDU 1506 Largest Rectangle in a Histogram (最大子矩形面积)
- HDU 1505 City Game-dp-(最大子矩阵模型)
- HDU 1506 Largest Rectangle in a Histogram(最大矩形面积)
- HDU 1506 Largest Rectangle in a Histogram(最大矩形面积、单调栈)
- HDU 1056 Largest Rectangle in a Histogram(dp)(求最大的矩形面积)
- HDU 1505 City Game(DP求二维最大子矩阵)
- HDU 2870 Largest Submatrix (最大子矩形面积)
- hdu 1505 && hdu1506 &&hdu 2830 && 2870 总结---------DP之状图选最大矩形
- 51nod-1102 . 面积最大的矩形&&hdu-1506
- HDU 1505(City Game)动态规划-最大矩阵
- hdu 1505 City Game(最大子矩阵)
- HDU 2478 Slides(n个矩形中n-1个矩形相交最大面积)
- HDU 2830 Matrix Swapping II (最大列可移动子矩形面积)