一、一般思路:
1、原问题分解为子问题
2、确定状态
3、确定一些初始状态(边界)的值
4、确定状态转移方程。
二、问题特点:
1、问题有最优子结构
2、无后效性
三、求解形式:
1、记忆递归型
2、我为人人递推型(更新原有节点的值)(要注意递推顺序)
3、人人为我递推型(用已有的求未知的)
四、优化方式
1、时间优化:记忆化
2、空间优化:滚动数组
五、设计状态技巧:
如果一个状态不够用就多加几个状态变量,细化状态
POJ - 1163 The Triangle
一、递归型写法(注意记忆化):
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>
#include <map>
#include <algorithm>
#include <vector>