![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
CharlotTataku
这个作者很懒,什么都没留下…
展开
-
背包问题(缓慢更新)
题目描述有NNN件物品和一个容量为VVV的背包。放入第i件物品耗费的费用是CiC_iCi,得到的价值是WiW_iWi。求解将哪些物品装入背包可使价值总和最大。状态转移方程我们定义一个数组dp[i][j]dp[i][j]dp[i][j],每一个元素表示当容量为jjj的时候从前iii个物品中选择所能得到的最大商品价值,下面列出状态转移方程。dp[i][j]={d[i−1][j],j<C[i]max(d[i−1][j−C[i]]+W[i],d[i−1][j])j≥C[i]dp[i][j]=\begin原创 2020-11-22 10:19:04 · 109 阅读 · 0 评论 -
动态规划——最优二叉查找树问题(C代码实现)
动态规划——最优二叉查找树问题(C代码实现)引入用动态规划法解决最优二叉查找树问题优化子结构引入假设你要把一本英文书翻译成中文,翻译的过程中,你需要在词汇库中寻找每一个单词。假设每个词都已经按照字母序排列好,用二分法寻找单词,这个过程可以被抽象成一棵二叉查找树。但是我们可能会遇到这种情况:一个单词出现频率特别高但它离根节点特别远。另一个词出现频率特别低,但它离根节点特别近,这样会导致搜索过程地比较次数大幅增加。除此之外,有一些生僻词可能并没有出现在你的词汇库中,每次遇到这些词的时候你都需要经过最差的比原创 2020-11-07 19:22:14 · 1699 阅读 · 0 评论 -
动态规划——矩阵链相乘问题(C代码实现)C3-A-Zexal的矩阵链乘
动态规划——矩阵链相乘问题引入矩阵连乘的开销加括号的方式总数引入矩阵连乘的开销给出一个有n个矩阵(任何相邻的两个矩阵均相容)的矩阵序列(<A1,A2,…,An>)求它们的乘积(A1A2…An)。一般的做法是按照从左到右的顺序一个一个求矩阵的积,但是矩阵乘法是满足结合率的,我们可以通过给序列加上括号规定矩阵连乘的求解顺序。矩阵连乘全括号:仅有一个矩阵,或者两个“矩阵连乘全括号”的乘积且外层包括一个括号,例如:(A1((A2A3)A4))。一对规模分别为p×q,q×r的矩阵相乘的乘法开销原创 2020-10-28 21:46:16 · 1882 阅读 · 0 评论