HDU 1024
来源:互联网 发布:刷恋舞的软件下载 编辑:程序博客网 时间:2024/04/27 19:26
// http://acm.hdu.edu.cn/showproblem.php?pid=1024
//状态:
//状态转移方程: dp[i][j]=max{dp[i][j-1]+A[j],dp[i-1][t]+a[j] (i-1<=t<n-m+i) }
//关于状态转移方程的解释:
// 的最大值.
// 以下用滚动数组进行DP
// 在求 dp[i][j]时也顺便把 max{dp[i - 1][t]} ( i - 1 <= t < j) 求出来,这样的话
// 时间复杂度仅为 O(N*(N - M + 1)) , 空间为 O( N )
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;#define MAXN 1000000int num[MAXN+50],now[MAXN+50],pre[MAXN+50];int max(int a,int b){if(a>b) return a;return b;}int main(){ int m,n,i,j,k,ans,max_pre; while(cin>>m>>n) { for(i=1;i<=n;i++) { scanf("%d",&num[i]); //数据太多所以用scanf } memset(now,0,sizeof(now)); memset(pre,0,sizeof(pre)); for(i=1;i<=m;i++) { max_pre=(-1)*(MAXN*90); for(j=i;j<=n;j++) { now[j]=max(now[j-1]+num[j],pre[j-1]+num[j]); pre[j-1]=max_pre; if(now[j]>max_pre) { max_pre=now[j]; } } } cout<<max_pre<<endl; } return 0;}
- HDU 1024
- hdu 1024
- HDU 1024
- HDU 1024
- HDU 1024
- HDU-1024
- hdu 1024
- hdu 1024
- hdu 1024
- HDU 1024
- HDU 1024
- HDU 1024
- HDU 1024
- HDU 1024
- hdu 1024
- hdu 1024
- HDU 1024(DP)
- hdu 1024 DP
- 2路归并排序
- VC MFC按钮(CButton)控件
- 网络接口实现过程中的代码
- 浅谈JavaScript的闭包和作用域链
- VC MFC组合框(CComboBox)控件
- HDU 1024
- 美国主权信用主动下调,事情很严重,后果嘛很难讲....
- 0.VC(ui)-hook-改变ToolBar背景色
- 算法算法算法尼玛
- 转篇CSDN的文章-职场随笔-走好那段路
- TI DM64x/C64x的代码优化方法
- 有关胡伯涛《最小割应用》论文的理解
- 转篇文章:项目经理和部门经理的区别
- STL读书笔记--- 迭代器概念