zoukankan
html css js c++ java
POJ 1163题 数字三角形问题(动态规划)
http://poj.org/problem?id=1163
1、普通递归
#include <iostream> #include <cstring> #include <cstdio> using namespace std; #define __max(a,b) (((a) > (b)) ? (a) : (b)) #define MAXNUM 101 int N; int aMax[MAXNUM][MAXNUM]; // aMax is memorandum int matrix[MAXNUM][MAXNUM]; int Max(int i, int j) { if (i == N) return matrix[i][j]; return __max( Max(i + 1, j), Max(i + 1, j + 1) ) + matrix[i][j]; } void Input(int _matrix[MAXNUM][MAXNUM]) // the 2nd dimension must be given! { for (int i = 1; i <= N; i++) { for (int j = 1; j <= i; j++) cin >> _matrix[i][j]; } } int main(void) { freopen("cin.txt", "r", stdin); cin >> N; memset(aMax, -1, sizeof(aMax)); // 0xff memset(matrix, -1, sizeof(matrix)); Input(matrix); cout << Max(1, 1) << endl; return 0; }
2、记忆式搜索 (动态规划)
int Max(int i, int j) { if (i == N) return matrix[i][j]; if (aMax[i + 1][j] == -1) aMax[i + 1][j] = Max(i + 1, j); if (aMax[i + 1][j + 1] == -1) aMax[i + 1][j + 1] = Max(i + 1, j + 1); return __max( aMax[i + 1][j], aMax[i + 1][j + 1] ) + matrix[i][j]; }
3、方法2的代码优化
int Max(int i, int j) { if (i == N) return matrix[i][j]; if (aMax[i][j] == -1) // 在普通递归的程序中加上 aMax[i][j] = __max( Max(i + 1, j), Max(i + 1, j + 1) ) + matrix[i][j]; // 改 return aMax[i][j]; // 加 }
查看全文
相关阅读:
【数据结构】算法 Tree Sub Structure 树的子结构
【数据结构】算法 Binary Search Tree find Kth largest Node 二叉搜索树的第k大节点
【数据结构】算法 Count Complete Tree Nodes 完全二叉树的节点个数
【数据结构】算法 合并K个有序链表Merge k Sorted Lists
JVisualVM 插件安装中出现网络问题
[ISSUE] Logback TimeBasedRollingPolicy not rolling every day.
【数据结构】算法 计算数组中的逆序对
JQ为元素添加class
时间戳转换成日期
JS拖拽
原文地址:https://www.cnblogs.com/jjtx/p/2533496.html
最新文章
《C语言》switch语句(6)
《C语言》if语句(5)
《C语言》运算符(4)
《C语言》变量(3)
《C语言》第一个程序(1)
《OD调试篇》OD快捷键。
《密码学》维吉尼亚密码。(3)
React-next.js中渲染变量的坑报错Error: React.Children.only expected to receive a single React element child.
React中实现倒计时功能根据接口防止刷新
移动端初始化字体大小rem自适应
热门文章
React apache 静态文件缓存实现(亲测可用)
网页全比例缩放不全屏问题(已解决)
React.js组件拆分js文件
React.js禁止浏览器自动填充解决方案[亲测可用]
React 中 axios 请求All并行处理,VUE一样适用
react-image-gallery幻灯组件跟react-image-lightbox灯箱组件结合记录
react-router-dom5.0的路由拦截(路由守卫)实现
【数据结构】算法 Maximum Width of Binary Tree 二叉树最大宽度
【数据结构】算法 X的平方根 Sqrt X
B-Tree&B+Tree B树,B+树
Copyright © 2011-2022 走看看