动态规划啃过好多次,都没有彻底搞清楚,这次我搜了不少资料,如下:
java-动态规划算法学习笔记 - huster-stl - 博客园动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的DP题https://www.cnblogs.com/huststl/p/8664608.html
Junior Dynamic Programming——动态规划初步·各种子序列问题 - 笨蛋花的小窝qwq - 洛谷博客https://www.luogu.com.cn/blog/pks-LOVING/junior-dynamic-programming-dong-tai-gui-hua-chu-bu-ge-zhong-zi-xu-lie是不是“状态的定义”“状态转移方程”以及他们的公式看着都听懵逼,看文献一样,上来就是一大堆公式,脑袋直接发懵。建议如果你看不懂或者理解不了动态规划比较抽象的公式和概念,那就先感受一下怎么解决问题,解决问题过程中为了好描述会抽闲一些概念出来,到最后你会发现所谓的“无后效性”“最优子结”以及那些看似高深专业的公式其实多么简单。
到最后也慢慢会养成看到公式就跟看文字一样的能力,再反过来看也当然没问题。但要养成开公式的能力,如果按照传统教学的方式会很痛苦。
为什么直接看那些概念公式不容易理解,原因是咱们只学习结果。而实际人的思维是现有感性认识,然后才是总结规律,给别人说的过程中为了简单表达,就必须总结一些概念出来, 为了描述这些概念必然会定义一些符号来说明。
人家研究:具体 --> 抽象过程。 后面的算法也是从:人人都能想到的穷举的方法,一点一点总结抽象,总结规律,概括抽象出概念,总结优劣,扩展其他应用 这个过程来从根子上把算法搞清楚,只需要一次,从此达到手中没有算法,心理也没有算法的那种境界。
咱们学习:抽象--> 具体 过程。 不难才怪
后面几篇就从这个思路来探索