HDU 1081 求最大子矩形 dp
来源:互联网 发布:华沙 知乎 编辑:程序博客网 时间:2024/05/19 03:30
这个题有树状数组的办法,这里我给出一种dp的办法,首先如果这个题目是一维的,那么应该都会做,要是多维的呢 ? 首先我们看一下一维的情况 比如 1 2 3 4 ans = 10,如果是二维的话我们就可以将第二维度压到第一维度, 3 4 5 6 加起来之后就是 4 5 6 7 ans = 22 以此类推就可以了。 取连续的子矩形才可以这么做的。
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <cmath>using namespace std;const int INF = 1e9 + 7;const int maxn = 105;int n;int a[maxn][maxn] = {0};int sum[maxn] = {0};int solve () { int res = -INF; int temp = 0; for (int i = 1;i <= n; ++ i) { temp += sum[i]; if (temp > res) res = temp; if (temp < 0) temp = 0; } return res;}int main () { ios_base :: sync_with_stdio(false); while (cin >> n) { int ans = -INF; for (int i = 1;i <= n; ++ i) { for (int j = 1;j <= n; ++ j) { cin >> a[i][j]; } } for (int i = 1;i <= n; ++ i) { memset (sum,0,sizeof (sum)); for (int j = i;j <= n; ++ j) { for (int k = 1;k <= n; ++ k) { sum[k] += a[j][k]; } int temp = solve(); ans = max (ans,temp); } } cout << ans << endl; } return 0;}
阅读全文
0 0
- HDU 1081 求最大子矩形 dp
- poj 1964 DP 求最大子矩形面积
- HDU 1506 dp求最大子矩阵 *
- #HDU 1506 dp求最大子矩阵
- hdu 2830 逐行扫描dp求最大完全矩形
- hdu 1506 最大子矩形
- 【DP求最大子矩阵面积】hdu 1506
- HDU 2870 Largest Submatrix DP求最大子矩阵
- HDU 1506 (DP求最大子矩阵)
- hdu 1506 求最大子矩阵 简单DP 迭代法
- POJ1964/UVALive 3029 -City Game -求最大子矩形-(暴力枚举/dp)
- 求矩形子数组最大和
- hdu1506 1505 2870最大子矩形 DP
- HDU--1231 : 最大连续子序列 (DP求连续子序列最大和)
- HDU 1056 Largest Rectangle in a Histogram(dp)(求最大的矩形面积)
- [HDU 1506] 单调栈求最大矩形
- 最大子阵和(DP)&& Hdu 1003 && Hdu 1081
- HDU 1081 最大矩形和
- 点击圆随机改变颜色
- ElasticSearch学习10月8日
- 收藏的文章,随时更新
- 嵌入式Linux学习笔记(2)——vi编辑器
- python3.6 mysql django mysql-python
- HDU 1081 求最大子矩形 dp
- POJ 3709 Round Numbers 数位dp
- C++头文件algorithm 3——Min/Max
- linux学习---内存管理以及结存结构描述
- HDU 4532 组合数+动态规划
- 权限
- Kali下压缩解压缩命令大全zip,tar,tar.gz,tar.bz2(转)
- Construct 2初体验
- 脏读1