动态规划算法的发现

idea at 
动态规划算法的发现的配图
1. 问题可分而治之且 BFS 首先, 问题必须是可分而治之的, 并在最后合并. 分而治之(递归)是为了穷举, 合并是为了找最优. Result r(costs[], target){ args = []; for(cost in costs){ tmp = r(costs - cost, target - cost) + cost; args += tmp; } return G(args); } 虽然上面的代码是 DFS, 但形式上是 BFS, 而且也应该写成 BFS, 只不过 BFS 的代码不简洁而已.思考: 与贪婪算法的区别.2. 合并函数 G(...) 可迭代处理因为……