
算法题 - 动态规划
动态规划、最长公共子序列LCS、最长上升子序列LIS、机器人走路
小猪快点跑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构:树状dp
一、派对的最大快乐值1、题目描述整个公司的人员结构可以看作是一棵标准的多叉树。树的头节点是公司唯一的老板,除老板外,每个员工都有唯一的直接上级,叶节点是没有任何下属的基层员工,除基层员工外,每个员工都有一个或多个直接下级,另外每个员工都有一个快乐值。这个公司现在要办party,你可以决定哪些员工来,哪些员工不来。但是要遵循如下的原则:1.如果某个员工来了,那么这个员工的所有直接下...原创 2019-09-14 00:10:27 · 396 阅读 · 0 评论 -
背包问题-敲代码:lintcode-669-换最少的硬币(完全背包变种)
1、Lintcode 669.换硬币(1)题目描述 给出不同面额的硬币以及一个总金额。写一个方法来计算给出的总金额可以换取的最少的硬币数量。如果已有硬币的任意组合均无法与总金额面额相等,那么返回-1。你可以假设每种硬币均有无数个。样例1输入:[1, 2, 5]11输出: 3解释: 11 = 5 + 5 + 1样例2输入: [2]3输出:...原创 2019-08-07 16:51:18 · 466 阅读 · 0 评论 -
背包问题-敲代码:依赖背包(01背包+分组背包)、金明的预算方案
1、P1064 金明的预算方案题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 N 元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件电脑 打印机,扫描仪...原创 2019-08-06 00:22:58 · 435 阅读 · 0 评论 -
背包问题-敲代码:01背包、完全背包、多重背包、混合背包、二维费用、分组背包、恰好背包
1、01背包 物品要么放,要么不放,即每种物品最多可以放一个,求最大收益。/* 输入: n 物品个数 m 背包容量 w[0] v[0] 重量,价值 w[1] v[1] 重量,价值 * w[n-1] v[n-1] 重量,价值 输出: dp[m] 最大价值*//* 输入1...原创 2019-08-04 23:20:23 · 727 阅读 · 0 评论 -
二维dp:最长公共子序列、最小调整代价
一、最长公共子序列二、最小调整代价1、题目描述给定两个字符串,已知可以使用三种方式进行变换1. 插入一个字符2. 删除一个字符3. 更改一个字符请设计一个算法,找到两个字符串之间的经历几次最小变换,可以字符串1转换成字符串2输入描述: 输入两个字符串,字符串的长度<=1000输出描述: 最小变换次数输入hellohel...原创 2019-09-09 21:56:45 · 234 阅读 · 0 评论 -
动态规划(一)——最长公共子序列LCS
一、最长公共子序列 两个序列中最长的公共子序列,子序列在两个序列中都是有序排列的。string str1 = "abcaef";string str2 = "abcdf";string LCS ="abcf"; //最长公共子序列二、动态规划解决LCS问题int len1 = str1.size();int len2 = str2.size()...原创 2019-04-13 23:11:50 · 155 阅读 · 0 评论