几句话读懂动态规划:动态规划与数学归纳法 | 您所在的位置:网站首页 › 总结与归纳的关系 › 几句话读懂动态规划:动态规划与数学归纳法 |
昨天晚上 今天凌晨在写动态规划的练习题 从两点折腾到四点一连折腾了两个小时有看了一会参考书还是没有搞明白。 整什么无向图啊路径啊一点也不新手友好。 跟大家分享一下。
而对应到动态规划的递归写法 上文中的1对应的正好是边界条件上文中的2这对应的正是我们假定已经知道的信息(都可以通过1中的边界求出来)上文中对应的三正是偶们要求的目标那么解决动态规划这类的问题就变成了以下三步: 抓住边界(作为递归边界,是数学归纳时候的初始状态)找到状态转移方程(也就是数学归纳法中第k项和第k-1项或者前k-1项的关系)之后进行根据上面两点写出递归函数,进行适当的优化。
问题描述见我的上一篇博客:https://blog.csdn.net/weixin_42222917/article/details/83342269 这里我们发现: 边界条件是: 当一个括号里只有一个元素的时候:也就是每一个元素都被单独用括号括在一起了()这个时候返回0,作为边界条件 n = k 最终的结果(也就是第n项)在这里的意义就是所有的括号都被打开之后 而n= k-1则是还差一个括号,所i有的括号都被打开 而n= k 和 n = k-1的关系则是 最长公共子序列问题 参见 https://blog.csdn.net/weixin_42222917/article/details/83342710 在这里, 边界条件是: 当着两个串中有一个的长度小于零的时候,返回0 n=k 代表着两个最长字串的最长公共子序列 n = k-1 ~n=0 代表了这两个串的子串的最长公共子序列 而他们之间的关系如下图 |
CopyRight 2018-2019 实验室设备网 版权所有 |