hdu2084 DP入门
来源:互联网 发布:淘宝上的牵引器有用吗 编辑:程序博客网 时间:2024/06/03 12:37
题目链接:点击打开链接
这题和白皮的数字三角形是一样的。有很多题都是这个的变形比如1176
递归:
#include <iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1e2+10;int a[maxn][maxn],d[maxn][maxn],n;int dp(int i,int j){ if(d[i][j]>0)return d[i][j]; return d[i][j]=a[i][j]+(i==n?0:max(dp(i+1,j),dp(i+1,j+1)));}int main(){ int t,i,j; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=i;j++) scanf("%d",&a[i][j]); memset(d,-1,sizeof(d)); printf("%d\n",dp(1,1)); } return 0;}递推:
#include <iostream>#include <stdio.h>#include<cstring>using namespace std;const int maxn=1e2+10;int a[maxn][maxn],flag[maxn],b[maxn][maxn];int main(){ int t,n,i,j; while(cin>>t) { while(t--) { cin>>n; memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); for(i=1; i<=n; i++) for(j=1; j<=i; j++) cin>>a[i][j]; for(i=1; i<=n; i++) for(j=1; j<=i; j++) b[i][j]=max(b[i-1][j],b[i-1][j-1])+a[i][j]; int Max=0; for(i=1; i<=n; i++) if(Max<b[n][i])Max=b[n][i]; cout<<Max<<endl; } } return 0;}
阅读全文
0 0
- hdu2084 DP入门
- HDU2084(DP)
- DP--hdu2084树塔
- hdu2084 dp数塔
- HDU2084:数塔(DP)
- HDU2084(最大和DP)
- 【DP】HDU2084数塔
- dp-数塔(hdu2084)
- hdu2084 数塔 DP
- hdu2084 数塔【简单DP】
- hdu2084 - 数塔 (经典dp)
- HDU2084 数塔 【DP问题】
- hdu2084数塔(DP)
- HDU2084 数塔 DP水题
- hdu2084 数塔 (DP)
- HDU2084基础DP数塔
- HDU2084(数字三角dp)
- HDU2084 DP + 水 /入门+ 递推 + 从后往前思考问题的方式
- 最小k限度生成树 +poj(1639)代码
- 帮我看看这个是什么意思 c++代码
- 流媒体开发: RTSP协议学习
- 遇到了WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- c++模板特化
- hdu2084 DP入门
- 深入理解Java虚拟机
- 很怪异的c++模板
- 最短路 poj 1052
- JAVA NIO
- POJ 3276 Face The Right Way
- c++中的概念模型
- #HDU 1176 免费馅饼
- Java排序算法之简单插入排序