POJ 1050 动态规划水题
来源:互联网 发布:入骨相思知不知百度云 编辑:程序博客网 时间:2024/05/15 13:56
思路:一开始想用dp[i][j]代表以它为结尾的最大子矩阵和,但实际上并不好实现,因为无法保证加进这一格后还是一个矩阵。所以把矩阵每行都组合起来,变成了n(n+1)/2个数列,然后就求所有数列中最大的子串和。找最大子串和为O(n)的,所以总体复杂度为O(n^3)。因为数据小,方法还是挺暴力的。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int N=100+5,INF=1<<30;int arr[N][N],temp[N];int n;int dp() { //找最大序列和 int dpp=temp[1]; int maxx=dpp; for(int i=2;i<=n;i++) { dpp=max(dpp+temp[i],temp[i]); maxx=max(dpp,maxx); } return maxx;}int main () { //freopen("in.txt","r",stdin); while(cin>>n) { int i,j,k; for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>arr[i][j]; int ans=-INF; for(i=1;i<=n;i++) { memset(temp,0,sizeof(temp)); for(j=i;j<=n;j++) { for(k=1;k<=n;k++) { temp[k]+=arr[j][k]; //temp数组代表从i行到j行组成的数列 } ans=max(ans,dp()); } } cout<<ans<<endl; } return 0;}
0 0
- POJ 1050 动态规划水题
- poj 1050--动态规划
- POJ 1050 动态规划
- Poj 1050 动态规划
- 动态规划练习题:POJ 1050
- poj 动态规划题集
- POJ 动态规划题集
- POJ 1050-To the Max (动态规划)
- POJ 1050 To the Max -- 动态规划
- 【动态规划】[POJ 1050]To the Max
- poj 3356 AGTC 经典动态规划题
- ACM学习-POJ-动态规划题集
- POJ 1837Balance(动态规划 好题)
- POJ动态规划20题,一句话题解~
- poj 2411 动态规划
- Poj 1157(动态规划)
- POJ 1651动态规划
- Poj 1221 动态规划
- 遍历数据库查询信息
- 使用arm-none-gnueabi交叉编译工具编译osip2、eXosip库
- VC中UpdateData()函数的使用
- Linux chmod命令详解
- LPC2468配置PWM
- POJ 1050 动态规划水题
- jndi 是什么
- mysql基本用法
- ACE中创建线程的方法
- 返回元组
- ios 图片拖拽,捏,双击放大缩小
- DataGridView显示数据的两种方法
- No.03 Xcode(5.1.x) c,c++,objiective-c混编
- 【PyQt4 实例19】基于UDP的网络广播程序