您当前的位置: 首页 >  动态规划

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

深入理解动态规划算法 - 凑整数

发布时间:2019-05-27 15:51:44 ,浏览量:0

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

给定正整数n,找出所有不同的写法使得n为整数1,3,4的和。

如:n=5时,不同的写法有5种。

解决方案

下面将介绍利用动态规划的思路来解决问题。

1、 将问题求解转化为函数形式。

从初中开始我们就接触了函数的概念,所谓函数指的就是给定自变量x,根据某种映射规则进行运算后,会得到一个值y。

举个简单的例子来说明,y=2·x就是一种映射关系,如给定x=2,进行运算后可以得到y=2·2=4。

而上述提到的问题,就是某种映射关系,只不过这种映射关系,我们目前还不知道具体是什么,需要我们去探索去解决。

假设现在已经知道了这种映射关系,即给定任意的正整数x,可以有y种符合要求的写法,即f(x) = y。

而示例给出的正是f(5) = 6,表示的是给定正整数5,符合要求的写法有6种。

2、分析递推情况。

接下来考虑计算正整数n的写法,即f(n)。

设n的一种可能的写法为:n = x1+x2+···+xm

我们从xm这一项入手,考虑其有几种不同的写法,根据题意,xm可能的值为1,3,4,因为每一项只能出现1

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.7726s