poj 1050(DP)
最大子矩阵和。类似于子序列最大和。
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)相关推荐
- POJ - 1050 To the Max(最大连续子段和,线性dp)
题目链接:点击查看 题目大意:给出一个n*n的矩阵,每个点都有一个权值,现在要从中选取一个子矩阵要求权值和最大,问这个最大权值和是多少 题目分析:因为是要求子矩阵的权值和最大的问题,我们可以直接维护一 ...
- 【POJ - 1050】To the Max (dp)
题干: Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguo ...
- POJ 3017 DP + 单调队列 + 堆
题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...
- POJ 1159 (DP)
题目:http://poj.org/problem?id=1159 思路: 找出原串的最长回文子串,当然这里说的回文子串可以不连续.用原串的长度减去最长回文子串的长度即可得出结果. 设原串a[5001 ...
- POJ 1037 DP
题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...
- POJ 1661 DP
Help Jimmy Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11071 Accepted: 3607 Descr ...
- POJ 3666 dp
题意 传送门 POJ 3666 基本思路是对 N 个位置枚举所有可能高度,并 dp 求最大值.可能高度取 N 个位置的高度即可,排序以方便顺序 dp.对于升序的情况 dp[i][j]=max{dp[i ...
- POJ 3666(DP)
题目链接:http://poj.org/problem?id=3666 题目大意:给一个串,要求修改最少使得串满足非递增或非递减 题目思路:刚开始没想到,后来经学长提醒如果串里的数字变1000可以怎么 ...
- POJ 3257 DP
题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...
最新文章
- 缓存服务器syns to listen sockets drop导致创建socket失败
- Python编码规范:IF中的多行条件
- flink 本地_Flink原理Apache Flink漫谈系列 State
- 高等数学下-赵立军-北京大学出版社-题解-练习9.4
- 对象集合中如何用对象的某个属性给对象排序?
- MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?
- php中GD库的简单使用
- 禁用”mgmtdb实例导致12c 应用psu失败
- Java基础----泛型
- Java对Internet为什么这么重要?
- js 冒泡排序_JS 里的简易算法和数据结构之复杂度
- ansible+packer+terraform在aws上布署web服务器
- js库编写的环境和准备工作
- Scratch1.4案例:射日小游戏
- echarts动态显示某个省或某个市
- 如何加声调口诀_拼音标声调的规则口诀
- VR 与 AR 开发实战
- ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
- 【数字图像处理】前期准备工作,库的安装(skimage库的安装!)
- conda中的CUDA和自己安装的CUDA的区别
热门文章
- PPTP-***第三章——用户流量与并发数限制
- WebAPI Action的几种返回值类型
- C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
- 【灵修】舍得——有舍有得
- 深入 Linux PAM 体系结构
- java 生产者消费者同步_经典线程同步问题(生产者消费者)--Java实现
- linux的物理内存中swap压缩,linux中Centos7增加swap分区详解
- 超图Cesium二三维切换
- openstack 学习_需要IT工作吗? 学习OpenStack
- JavaScript之注释规范化(JSDoc)