动态规划1-数字三角形(算法基础 第4周)
来源:互联网 发布:数据分析师专业 编辑:程序博客网 时间:2024/06/05 00:57
问题讲解:
分析:
目前动归这一块还没太理解。
源码:
//"人人为我"递推型动归程序#include <iostream>#include <algorithm>using namespace std;#define MAX 101int D[MAX][MAX]; int n;int maxSum[MAX][MAX];int main() { cin >> n; for(int i=1; i<=n; i++) for(int j=1; j<=i; j++) cin >> D[i][j]; for(int i=1; i<=n; i++) maxSum[n][i] = D[n][i]; for(int i=n-1; i>=1; i--) for(int j=1; j<=i; j++) maxSum[i][j]=max(maxSum[i+1][j], maxSum[i+1][j+1]) + D[i][j]; cout << maxSum[1][1] << endl;}/*//数字三角形的记忆递归型动归程序#include <iostream>#include <algorithm>using namespace std;#define MAX 101int D[MAX][MAX]; int n;int maxSum[MAX][MAX];int MaxSum(int i, int j) { if(maxSum[i][j] != -1) return maxSum[i][j]; if (i==n) maxSum[i][j] = D[i][j]; //'='写为'=='号,查了半个多小时 else { int x = MaxSum(i+1, j); int y = MaxSum(i+1, j+1); maxSum[i][j] = max(x, y) + D[i][j]; } return maxSum[i][j];}int main() { cin >> n; for(int i=1; i<=n; i++) for(int j=1; j<=i; j++) { cin >> D[i][j]; maxSum[i][j] = -1; } cout << MaxSum(1, 1) << endl;}*/
0 0
- 动态规划1-数字三角形(算法基础 第4周)
- 动态规划基础(数字三角形)
- 动态规划1-滑雪(算法基础 第4周)
- 动态规划(1)数字三角形
- 数字三角形(动态规划)
- 数字三角形(动态规划)
- 数字三角形(动态规划)
- 数字三角形(动态规划)
- 动态规划基础入门(以数字三角形为例)
- 数字三角形 ——动态规划基础
- 动态规划算法:数字三角形问题
- 算法 -- 数字三角形之动态规划
- 动态规划----数字三角形
- 数字三角形 动态规划
- 动态规划:数字三角形
- 动态规划--数字三角形
- 动态规划--数字三角形
- 动态规划-数字三角形
- C/C++ 中缀表达式转换成后缀表达式并求值
- <%= %>、<% %>、<%@ %>、<%:%>和<%# %>的区别
- 【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框&&获取组件实例常用的两种方式
- Windows服务代码控制安装卸载、启动停止
- Android5.X和Android6.X上读写外置 USB设备的方案
- 动态规划1-数字三角形(算法基础 第4周)
- 【转】【复】实现复数中的运算符重载
- 科普:x64与IA64
- intellij的maven工程"Server IPC version 9 cannot communicate with client version"错误的解决办法
- Leetcode Max Points on a Line
- oop概念性讲解
- 在web.xml中配置diaplay-name是什么意思
- Activity的生命周期(基础篇)
- 轻松把玩HttpClient之封装HttpClient工具类(七),新增验证码识别功能