poj 1163解题报告(动态规划)
来源:互联网 发布:stm8s003k3t6数据手册 编辑:程序博客网 时间:2024/06/05 15:33
//要求输入一个组阶梯数,求从顶层到最底层的最大和,每个连接只能为该层数字到下层左下数字或右下数字的路径。 73 8 8 1 0 2 7 4 4 4 5 2 6 5//最大和路径为 7,3,8,7,5之和为30//思路:maxsum[i,j]为第i行,第j个数的最大和,tr[i,j]为第i行第j个数//maxsum[i,j]=max(maxsum[i-1,j-1]+tr[i-1,j-1],maxsum[i-1,j]+tr[i-1,j])//最后的结果就为第N行的所有最大和中最大的一个。#include <iostream>using namespace std;short tr[5051],maxsum[5051];int main(){int N;cin>>N;for(int i=1;i<=N*(N+1)/2;++i){cin>>tr[i];}/*for(int i=1;i<=N*(N+1)/2;++i){cout<<tr[i]<<" ";}*/maxsum[0]=0;tr[0]=0;maxsum[1]=tr[1];if (N==1){cout<<maxsum[1];return 0;}for (int i=2;i<=N;++i){for (int j=1;j<=i;++j){if (j==1){maxsum[i*(i-1)/2+j]=maxsum[i*(i-1)/2-(i-2)]+tr[i*(i-1)/2+j]; //当为每行第一个数时,只能有上一行的第一个数得到}else if(j==i){maxsum[i*(i-1)/2+j]=maxsum[i*(i-1)/2]+tr[i*(i-1)/2+j]; //每行最后一个数也只能由上一行的最后一个数得到}else{if(maxsum[(i-2)*(i-1)/2+j-1]>maxsum[(i-2)*(i-1)/2+j]){maxsum[i*(i-1)/2+j]=maxsum[(i-2)*(i-1)/2+j-1]+tr[i*(i-1)/2+j];}else{maxsum[i*(i-1)/2+j]=maxsum[(i-2)*(i-1)/2+j]+tr[i*(i-1)/2+j];}}}}/*for (int i=1;i<=N;++i){for (int j=1;j<=i;++j){cout<<maxsum[i*(i-1)/2+j]<<" ";}cout<<endl;}*/int max_sum=0;for (int j=1;j<=N;++j){if (maxsum[N*(N-1)/2+j]>max_sum){max_sum=maxsum[N*(N-1)/2+j];}}cout<<max_sum;return 0;}
复制搜索
复制搜索
- poj 1163解题报告(动态规划)
- POJ 1088 滑雪(动态规划)(解题报告)
- poj 1160 解题报告【动态规划】
- 1163 动态规划 解题报告
- [解题报告]hdoj1069(动态规划)
- 动态规划(dp)入门解题报告
- POJ-1088-滑雪-解题报告-动态规划-记忆化搜索
- POJ 1458(最长公共子序列 动态规划) 解题报告
- POJ 2479 Maximum sum 动态规划 解题报告
- poj 1014解题报告 【动态规划】【背包问题】
- poj 1050 解题报告 [动态规划] [最大子段和]
- poj 1338 “Ugly Numbers” 解题报告【动态规划】
- 简单动态规划(POJ 1609 Tiling Up Blocks 解题报告)
- 动态规划Always On the Run poj 1476解题报告(附详细分析)
- POJ 1065 Wooden Sticks 解题报告-用动态规划方法解决(LIS变式)
- 杭电OJ1466动态规划经典题(解题报告)
- 0-1背包问题(动态规划) 解题报告
- hdu 2294 Pendant (动态规划+矩阵) 解题报告
- 为对话框设置水平,垂直条及鼠标移动滚动
- asp.net中Session过期设置方法
- 二叉树的递归遍历以及层次遍历
- 基于Android客户端的人人网开放平台开发系列教程
- Java关键字final、static 抽象类 接口使用总结
- poj 1163解题报告(动态规划)
- 黑马程序员Java类之i/o流
- 二叉树的递归,层次,以及非递归遍历
- masm中常用的伪指令
- 父页面调用iframe里的js函数
- MFC--控件的显示或使能等状态处理
- 孩子的笑脸送给谁
- QQ在线联系Freemarker宏代码
- Myeclipse8.6+jboss5.0开发ejb3.0教程