自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 公路广告牌问题(Highway Billboard Problem)--动态规划

问题描述:考虑一条M英里的高速公路。 任务是在高速公路上放置广告牌,以使收入最大化。 广告牌可能的位置由数字x1x_{1}x1​ < x2x_{2}x2​<…<xn−1x_{n-1}xn−1​<xnx_{n}xn​ 给出,即广告牌可以放到距离起点x1x_{1}x1​km、x2x_{2}x2​km、…、xnx_{n}xn​km的位置 。每个位置都有一个对应的收入rir_{i}ri​ 。规定,在距离t km内(包含t)不能放置两个广告牌。问怎么放置广告牌才能使得总得收入最大化。(x1x_

2020-08-16 11:42:13 1439

原创 掷骰子问题--动态规划

掷骰子问题问题描述:给定n个骰子,每个骰子有m个面(从1到m编号),找到获得总和X的方法的数量。X是抛出所有骰子时每个面的值的总和。我们首先想到的做法是找到n个骰子所有的组合并从中计算和为X的数量,但这种做法显然不是最优的。思路:用Sum(m,n,X)表示从n个m面的骰子中得到和为X的方法的总和。则Sum(m,n,X)可以如下表示Sum(m,n,X) = Sum(m,n-1,X-1) //有一个骰子为1,所以剩下的n-1个骰子总和应为n-1 + Sum(m.n-1,X-2) //有一

2020-08-06 11:37:40 1682 1

原创 丢鸡蛋问题(Egg Dropping Puzzle) -- 动态规划

丢鸡蛋问题(Egg Dropping Puzzle)丢鸡蛋问题的描述:有两个鸡蛋和一栋36层高的楼,我们希望知道36层高的哪个楼层把鸡蛋扔下会破裂,在哪些楼层扔鸡蛋不会使得鸡蛋破裂。我们做一些假设: - 落下来的没有破碎鸡蛋可以再次使用 - 碎的鸡蛋不能够再次使用 - 如果鸡蛋掉落时破裂,那么如果从较高的楼层掉落,鸡蛋也会破裂 - 如果鸡蛋在跌落中没有破裂,那么它会在较低的楼层跌落也不会破裂 - 在一楼丢鸡蛋可能会破裂,在36楼丢鸡蛋可能不会破裂如果只有一个鸡蛋,则只能以一种方式进

2020-08-05 21:38:56 857

原创 最长递增子序列问题--Longest Increasing Subsequence

最长增加子序列问题是找到给定序列的最长子序列的长度,以使该子序列的所有元素都按升序排序。例如,{10、22、9、33、21、50、41、60、80}的最长子序列长度为6,最长子序列为{10、22、33、50、60、80}。设定输入数组为arr[0 1 … n-1],L[i]表示arr[0 1 … i]的最长子序列的长度,arr[i]为当前最长子序列的最后一个元素。L[i]可以递归的表示为:...

2020-02-07 19:41:28 149

原创 最长公共子序列(Longest Common Subsequence)-- 动态规划

最长公共子序列(Longest Common Subsequence )问题:给定两个序列,找出两个序列中存在的最长子序列的长度。 子序列是以相同的相对顺序出现,但不一定是连续的序列。 例如,“ abc”,“ abg”,“ bdf”,“ aeg”,“ acefg”等是“ abcdefg”的子序列。首先我们考虑一下采用暴力解法的时间复杂度,长度为n的字符串的子序列一共有$C_{n}^{1} $...

2020-02-06 21:39:27 931

原创 Golomb 序列 -- 动态规划

在数学中,Golomb序列是一个非递减整数序列,其中是序列中n出现的次数,。前几个值是:1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, ……

2020-02-03 14:08:28 826

原创 Painting Fence Algorithm ( 画围栏算法)-- 动态规划

给定具有n个柱子和k种颜色的围栏,请找出对围栏进行涂漆的方法,最多只能2个相邻的柱具有相同的颜色。Example1Input : n = 2 k = 4Output : 16四种颜色和两个桩两个桩的颜色相同,有4种方法两个桩的颜色不同,有4*3 = 12 种Example2Input : n = 3 k = 2Output : 6下图描述了用2种颜色绘制3个桩的6种可能方法...

2020-01-31 16:11:35 316

原创 分割木棒问题(Cutting a Rod)--动态规划

给定一根长度为n英寸的木棒,并且给出一组对应长度为1到n的价格表,如何切割木棒使得切割后能够获得最大的出售金额。例如,如果杆的长度为8,并且不同的长度对应的价格如下所示,则最大可获得值为22(将长度2和6切成两段)length | 1 2 3 4 5 6 7 8-------------------------------------------price | 1 5 8 9 1...

2020-01-30 23:22:21 2237

原创 朋友配对问题(Friends Pairing Problem)--动态规划

给定n个朋友,每个人可以单身,也可以与其他朋友配对。 每个朋友只能配对一次。 找出朋友保持单身或配对的方法的总数。例如当n = 3,既有3个朋友,此时共有四种方式{1},{2},{3} 全部是单身{1},{2,3} 1是单身,2和3配对{1,2},{3} 1和2配对,3单身{1,3},{2} 1和3配对,2单身那么该如何解决这个问题呢假设f(n)等于n个人单身或者配对的总数目。对...

2020-01-29 20:28:34 1985

原创 Container With Most Water--装最多水的容器

问题介绍:给定n个非负整数$a_{1},a_{2},...,a_{3}$,其中$a_{i}$代表坐标($i$,$a_{i}$)上的一个点。在每个点上绘制一条直线,其中每个代表坐标(iii,aia_{i}ai​)上的一个点。 绘制n条垂直线,找到两条线,其中两条线的两个端点位于(iii,aia_{i}ai​)和(iii,0),使这两条线与x轴一起形成一个上部开口的容器,怎样才能使得容器装的水尽可...

2020-01-20 21:49:53 98

原创 6.ZigZag Conversion--之字形转换

字符串"PAYPALISHIRING"是下面三行字符以之字形的形式给出的,它们按照每行读是"PAHNAPLSIIGYIR",P A H NA P L S I I GY I R问题是给定一个按照之字形读的字符串,输出其按照每行读的字符串。分析:已经知道的参数是给...

2020-01-19 22:54:36 137

原创 Gold Mine Problem(挖黄金问题)--动态规划

问题描述:给定一个N*M尺寸的金矿,每个点都有一个非负数表示当前点所含的黄金数目,最开始矿工位于第一列,但是可以位于任意行。矿工只能向右,右上,右下三个方向移动。问该如何安排路线使得所挖的黄金的数量最多?问题如下所示:Input: mat[][] = { {1, 3, 1, 5}, {2, 2, 4, 1}, {5, ...

2020-01-14 22:49:35 296

翻译 Binomial Coefficient二项式系数)-- Dynamic Programming(动态规划)

在数学上,二项式系数是二项式定理中各项的系数。以下是关于二项式系数的通常的定义:1)二项式系数C(n,k)可视为(1+xn)\left ( 1+ x^{n} \right )(1+xn)的多项式展开式中, xnx^{n}xn项的系数。2)二项式系数C(n,k)还给出了从n个对象中选择k个对象的方式数量。更正式的来说,具有n个元素的集合中包含K个元素的子集的数量。问题:编写一个只有两个参数n和...

2020-01-11 22:12:03 957

原创 Bell Numbers (贝尔数)--Number of ways to Partition a Set(划分集合的方法的数量)

首先介绍一下什么是贝尔数。贝尔数以埃里克·坦普尔·贝尔命名,是组合数学中的一组整数数列,开首是Bn是基数为n的集合的划分方法的数目。集合S的一个划分是定义为S的两两不相交的非空子集的族,它们的并是S。例如B3 = 5因为3个元素的集合{a, b, c}有5种不同的划分方法:{{a},{b},{c}} {{a},{b,c}} {{b},{a,c}} {{c},{a,b}} ...

2020-01-10 21:31:41 1796

原创 卡塔兰数(Catalan Number)--动态规划(Dynamic Programming)

-卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡特兰(1814–1894)命名。历史上,清朝数学家明安图(1692年-1763年)在其《割圜密率捷法》中最先发明这种计数方式,远远早于卡塔兰。卡塔兰数字的一般项公式为:-组合数学中有非常多的组合结构可以用卡塔兰数来计数。Cn表示长度2n的dyck word的个数。Dyck word是一个有n个X和...

2020-01-09 19:30:56 786

原创 斐波那契数字( Fibonacci numbers)--动态规划(Dynamic programming)

斐波那契数字动态规划的典型应用,求第n个斐波那契数字,下面给大家介绍几种方法。方法1–递归用递归求解该问题的时间复杂度是指数型的, T(n) = T(n-1) + T(n-2)代码如下class fibonacci { public int fib(int n) { if (n <= 1) return n; retur...

2020-01-09 12:55:36 515

翻译 Ugly Numbers(丑数)Dynamic Programming(动态规划

所谓的丑数是指只包含质因子2、3和5的数。例如前10个丑数分别为 1, 2, 3, 4, 5, 6, 8, 9, 10, 12. 然后要求求得第n个丑数。解决此问题主要有两个问题:暴力求解,即挨个找丑数,直到找到第n个,另一种方法就是使用动态规划。1.简单方法要检查数字是否丑陋,请将该数字除以2、3和5的最大可除幂。如果数字变为1,则它是丑陋的数字,否则不是。例如,让我们看看如何检查30...

2020-01-07 22:51:20 344

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除