![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计
Andrew1996
这个作者很懒,什么都没留下…
展开
-
动态规划之硬币收集问题——c++实现
硬币收集问题描述如下:在nxm格木板上放一些硬币,在左上方的机器人要收集尽可能多的硬币到右下方,机器人可以向右或向下移动。计算出机器人一共能收集到的最多数量的硬币,并求出其运动轨迹?算法分析:令F(i,j)为机器人移动到(i,j)时收集到的最大硬币数F(i,j)=max{F(i-1,j),F(i,j-1)}+cij ,1<=i<=n,1<=j<=m//要不是从上移动...原创 2020-05-07 10:11:43 · 2812 阅读 · 0 评论 -
动态规划之找零问题 —c++实现
找零问题描述:给定金额为n,面值为d1<d2<…<dm的硬币(其中d1=1),请问最少需要使用多少数量的硬币,并找出使用了那几个硬币?算法设计思路:设F(n)是总金额为n的最少硬币数n>0时,F(n)=min{F(n-dj)}+1 (n>=dj)n=0时,F(0)=0;找零的关键代码如下:int changeMaking(int D[],int m,...原创 2020-05-07 09:56:18 · 5191 阅读 · 5 评论 -
算法设计之多段图求最小成本问题
算法设计之多段图求最小成本及路径问题问题分析:多段图G=(V,E)是一个有向图。其问题(multistage graph problem)是求由s到t的最小成本路径。对于每一条由s到t的路径,可以把它看成在k-2个阶段(因为路径的首尾是确定的)中作出的某个决策序列的相应结果。用向前处理法列出求取从s到t的最小成本路径的递推公式,继而给出k段图问题的向前处理法.设P(i,j)是一条从第i段中...原创 2020-04-28 16:52:03 · 3428 阅读 · 0 评论 -
动态规划算法--币值最大化(c++实现)
动态规划算法--币值最大化(c++实现)币值最大化的问题描述如下:给定n个硬币,其面值均为正整数c1,c2,…,cn,请问如何选择硬币,使得在其原始位置互不相邻的条件下,所选硬币的总金额最大,并且找出组成最大币值所包含的所有硬币!解题思路分析: 1.最大金额用F(n)表示,然后找到F(n)的递推关系,我们可以分成两组:一组是包含最后一个硬币的,另一组是不包含最后一个硬币的。2.那第一组:...原创 2020-04-28 12:24:08 · 1438 阅读 · 2 评论