最大子矩阵和。类似于子序列最大和。

 1 // File Name: 1050.cpp
 2 // Author: Missa_Chen
 3 // Created Time: 2013年06月22日 星期六 17时06分39秒
 4
 5 #include <iostream>
 6 #include <string>
 7 #include <algorithm>
 8 #include <cstdio>
 9 #include <cstring>
10 #include <cmath>
11 #include <queue>
12 #include <map>
13 #include <stack>
14 #include <set>
15 #include <cstdlib>
16
17 using namespace std;
18
19 #define LL long long
20 const int inf = 0x3f3f3f3f;
21 const int maxn = 101;
22 int n;
23 int sum[maxn][maxn];
24 int main()
25 {
26     while (~scanf("%d",&n))
27     {
28         for (int i = 1; i <= n; ++i)
29             for (int j = 1; j <= n; ++j)
30                 scanf("%d", &sum[i][j]);
31         for (int i = 1; i <= n; ++i)
32             sum[i][0] = 0;
33         for (int i = 1; i <= n; ++i)
34             for (int j = 2; j <= n; ++j)
35                 sum[i][j] += sum[i][j - 1];
36         int ans = -inf;
37         for (int i = 1; i <= n; ++i)
38             for (int j = i; j <= n; ++j)
39             {
40                 int tmp = -inf;
41                 for (int k = 1; k <= n; ++k)
42                 {
43                     if (tmp >= 0)
44                         tmp += (sum[k][j] - sum[k][i - 1]);
45                     else
46                         tmp = sum[k][j] - sum[k][i - 1];
47                     ans = max(ans, tmp);
48                 }
49             }
50         printf("%d\n", ans);
51     }
52     return 0;
53 }

转载于:https://www.cnblogs.com/Missa/p/3149946.html

poj 1050(DP)相关推荐

  1. POJ - 1050 To the Max(最大连续子段和,线性dp)

    题目链接:点击查看 题目大意:给出一个n*n的矩阵,每个点都有一个权值,现在要从中选取一个子矩阵要求权值和最大,问这个最大权值和是多少 题目分析:因为是要求子矩阵的权值和最大的问题,我们可以直接维护一 ...

  2. 【POJ - 1050】To the Max (dp)

    题干: Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguo ...

  3. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  4. POJ 1159 (DP)

    题目:http://poj.org/problem?id=1159 思路: 找出原串的最长回文子串,当然这里说的回文子串可以不连续.用原串的长度减去最长回文子串的长度即可得出结果. 设原串a[5001 ...

  5. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

  6. POJ 1661 DP

    Help Jimmy Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11071   Accepted: 3607 Descr ...

  7. POJ 3666 dp

    题意 传送门 POJ 3666 基本思路是对 N 个位置枚举所有可能高度,并 dp 求最大值.可能高度取 N 个位置的高度即可,排序以方便顺序 dp.对于升序的情况 dp[i][j]=max{dp[i ...

  8. POJ 3666(DP)

    题目链接:http://poj.org/problem?id=3666 题目大意:给一个串,要求修改最少使得串满足非递增或非递减 题目思路:刚开始没想到,后来经学长提醒如果串里的数字变1000可以怎么 ...

  9. POJ 3257 DP

    题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...

最新文章

  1. 缓存服务器syns to listen sockets drop导致创建socket失败
  2. Python编码规范:IF中的多行条件
  3. flink 本地_Flink原理Apache Flink漫谈系列 State
  4. 高等数学下-赵立军-北京大学出版社-题解-练习9.4
  5. 对象集合中如何用对象的某个属性给对象排序?
  6. MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?
  7. php中GD库的简单使用
  8. 禁用”mgmtdb实例导致12c 应用psu失败
  9. Java基础----泛型
  10. Java对Internet为什么这么重要?
  11. js 冒泡排序_JS 里的简易算法和数据结构之复杂度
  12. ansible+packer+terraform在aws上布署web服务器
  13. js库编写的环境和准备工作
  14. Scratch1.4案例:射日小游戏
  15. echarts动态显示某个省或某个市
  16. 如何加声调口诀_拼音标声调的规则口诀
  17. VR 与 AR 开发实战
  18. ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
  19. 【数字图像处理】前期准备工作,库的安装(skimage库的安装!)
  20. conda中的CUDA和自己安装的CUDA的区别

热门文章

  1. PPTP-***第三章——用户流量与并发数限制
  2. WebAPI Action的几种返回值类型
  3. C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
  4. 【灵修】舍得——有舍有得
  5. 深入 Linux PAM 体系结构
  6. java 生产者消费者同步_经典线程同步问题(生产者消费者)--Java实现
  7. linux的物理内存中swap压缩,linux中Centos7增加swap分区详解
  8. 超图Cesium二三维切换
  9. openstack 学习_需要IT工作吗? 学习OpenStack
  10. JavaScript之注释规范化(JSDoc)