动态规划
我是大龙啊
这个作者很懒,什么都没留下…
展开
-
把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n, 打印出S的所有可能的值出现的概率
把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n, 打印出S的所有可能的值出现的概率。1.穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕 。 这里我们可以统计n个骰子朝上一面的点数和s的个数f(s),则其概率r(s)=f(s)/pow(6, n):/*统计骰子点数和的组合数*/v...转载 2019-03-29 10:56:09 · 994 阅读 · 0 评论 -
分数背包
现在有m件物品,小偷有个最大承重为n的背包,单独的一件物品可拆分,求最后的可得的最大重量。2.首先计算每个商品的单位价值,遵循贪心策略,小偷首先尽量多地拿走单位价值最高的商品,若该商品已经全部拿走而背包未满,将在剩余的商品中选择单位价值最高的拿走,以此类推,若剩余空间不够选择的商品全部拿走,则将剩余空间全部装上该商品的等重部分(即把该商品拿走与背包空间刚好相同的重量)。Step1:首先计算每件...原创 2019-01-16 10:26:27 · 550 阅读 · 0 评论 -
魔法深渊
题目描述前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊。已知深渊有N层台阶构成(1 <= N <= 1000),并且每次月神仅可往上爬2的整数次幂个台阶(1、2、4、…),请你编程告诉月神,月神有多少种方法爬出深渊输入描述:输入...原创 2019-08-08 16:02:21 · 304 阅读 · 0 评论 -
最长回文子串--动态规划(O(N^2))
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad”输出: “bab”注意: "aba"也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”回文串的定义我就不啰嗦了。对于这道题,我的第一反应是用动态规划方法解。假设字符串s的长度为length,建立一个length*length的矩阵dp。dp[i][...原创 2019-08-09 16:43:40 · 112 阅读 · 0 评论 -
最少数量货物装箱问题
题目描述有重量分别为3,5,7公斤的三种货物,和一个载重量为X公斤的箱子(不考虑体积等其它因素,只计算重量)需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)输入描述:输入箱子载重量X(1 <= X <= 10000),一个整数。输出描述:如果无法装满,输出 -1。如果可以装满,输出使用货物的总个数。示例1输入4输出-1说明无法装满...原创 2019-08-14 16:51:11 · 1625 阅读 · 0 评论 -
最大递增子序列
【题目】:给定数组arr,返回arr的最长递增子序列。【例子】:arr=[10,22,9,33,21,50,41,60,80],返回的最长递增子序列为[10,22,33,41,60,80]长度为6思路:动态规划dp[i]为以下标为i的元素结尾的子数组的长度。开始将dp所有元素初始化为1。为得到dp[i],需向前遍历,找到比a[i]小而且使dp[i]最大的那个数。/*. 生成长度为N...原创 2019-08-16 10:59:17 · 1436 阅读 · 0 评论