博客专栏  >  编程语言   >  动态规划刷题集锦

动态规划刷题集锦

动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法。美国数学家R.E.Bellman等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。

关注
1 已关注
21篇博文
  • C++动态规划算法之子集的和

    子集的和 题目描述 对于从1到N (1 举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的: {3} and {1,2} 这是唯一一种分法(交换集合位置被...

    2017-06-16 13:23
    130
  • C++动态规划算法之计算字符串距离

    计算字符串距离 Description 对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为: 修改一个字符(如把“a”替换为“b”)删除一个字符(如把“traveling”变为“...

    2017-07-13 09:49
    125
  • 最短编辑距离

    1.最短编辑距离的介绍 ①基本定义       所谓编辑距离(Edit Distance),是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作总共有三个:将一个字符替换成另...

    2017-07-12 17:59
    104
  • C++动态规划算法之数字金字塔【USACO TRAINING】:一道经典的数塔问题

    数字金字塔 题目描述 考虑在下面被显示的数字金字塔。 写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例...

    2017-08-21 16:19
    209
  • C++递归算法之菲波拉契数列

    菲波拉契数列:菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数是多少。 代码如下: #include ...

    2017-05-22 06:14
    154
  • C++递归递推算法之三角形划分平面区域

    三角形划分平面区域 Description 1个三角形将平面划分成内、外 2 个区域。2 个三角形最多将平面划分成 8个区域,如下图所示。 给定三角形数量 n,求 n 个三角形最...

    2017-07-15 12:01
    59
  • C++记忆化搜索算法与动态规划算法之公共子序列

    公共子序列 Description 我们称序列Z = 1, z2, ..., zk >是序列X = 1, x2, ..., xm >的子序列当且仅当存在 严格上升 的序列,使得对j = 1, ...

    2017-07-10 16:06
    95
  • C++动态规划算法之采药

    采药 Description 辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处...

    2017-07-10 12:04
    101
  • C++动态规划算法之Maximum sum(最大和)

    Maximum sum(最大和) Description Given a set of n integers: A={a1, a2,..., an}, we define a function d...

    2017-07-11 11:36
    306
  • C++递归算法之爬楼梯

     爬楼梯 Description 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数 例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级 也可以...

    2017-07-04 18:39
    120
  • C++递归算法之鸣人的影分身

    鸣人的影分身 Description 在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。 影分身是由鸣人身...

    2017-07-06 14:11
    124
  • C++递归算法之分成互质组

    -分成互质组- Description 给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组? Input 第一行是一个正整数n。1 。 第二行是n个不大于10000的正整数。...

    2017-07-09 09:23
    86
  • C++动态规划算法之怪盗基德的滑翔翼

    怪盗基德的滑翔翼 Description 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了...

    2017-06-13 14:00
    212
  • C++广度优先搜索算法之迷宫问题

    迷宫问题 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0...

    2017-06-12 13:41
    396
  • C++动态规划算法之最长上升子序列

    最长上升子序列 Description一个数的序列bi,当b1 b2 bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai...

    2017-06-11 22:35
    161
  • C++动态规划算法之拦截导弹

    拦截导弹 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的...

    2017-06-11 22:46
    345
  • C++递归算法之2的幂次方表示

    2的幂次方表示: 任何一个正整数都可以用2的幂次方表示。例如:     137=27+23+20 同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:   ...

    2017-05-22 13:43
    482
  • C++递推算法之菲波拉契数列

    菲波那契数列:菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数是多少。 代码如下: #includ...

    2017-05-25 13:39
    133
  • C++递推算法之放苹果

    放苹果:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 #include int main() { int ...

    2017-05-26 13:06
    329
  • C++递归算法之放苹果

    Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 Ou...

    2017-05-28 15:33
    104
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部