![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 65
王马软
因为原地不动,便永远地下沉
展开
-
leetcode 664.奇怪的打印机 - 动态规划
leetcode 664.奇怪的打印机 - 动态规划题干有台奇怪的打印机有以下两个特殊要求:打印机每次只能打印由 同一个字符 组成的序列。每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。示例 1:输入:s = “aaabbb”输出:2解释:首先打印 “aaa” 然后打印 “bbb”。示例 2:输入:s = “aba”输出:2解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来原创 2021-05-24 15:02:02 · 103 阅读 · 0 评论 -
leetcode 1269.停在原地的方案数 - 动态规划
leetcode 1269.停在原地的方案数 - 动态规划题干有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处。每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外)。给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 次操作以后,指针仍然指向索引 0 处的方案数。由于答案可能会很大,请返回方案数 模 10^9 + 7 后的结果。示例 1:输入:steps = 3, arrLen = 2输出:4解释:3原创 2021-05-14 10:48:40 · 57 阅读 · 0 评论 -
leetcode 1723.完成所有工作的最短时间 - 二分+递归
leetcode 1723.完成所有工作的最短时间 - 二分+递归题干给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间得以最小化 。返回分配方案中尽可能 最小 的 最大工作时间 。示例 1:输入:jobs = [3,2,3], k = 3输出:3解释:原创 2021-05-08 22:08:00 · 314 阅读 · 0 评论 -
leetcode 740.删除并获得点数
leetcode 740.删除并获得点数题干给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4原创 2021-05-05 18:04:36 · 102 阅读 · 0 评论 -
codeforces Pictures with Kittens(easy & hard version) - 动态规划
codeforces Pictures with Kittens(easy & hard version) - 动态规划题干The only difference between easy and hard versions is the constraints.Vova likes pictures with kittens. The news feed in the social network he uses can be represented as an array of n con原创 2021-05-01 23:40:12 · 168 阅读 · 0 评论 -
leetcode 403.青蛙过河 - 动态规划
leetcode 403.青蛙过河 - 动态规划题干一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一块石子上)。开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 跳至单元格 2 )。如果青蛙上一步跳跃了 k&nbs原创 2021-04-29 18:54:20 · 215 阅读 · 0 评论 -
leetcode 377.组合综合IV - 动态规划 - 完全背包
leetcode 377.组合综合IV - 动态规划 - 完全背包题干给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,原创 2021-04-25 22:27:24 · 80 阅读 · 0 评论 -
leetcode 368.最大整除子集 - 动态规划
leetcode 368.最大整除子集 - 动态规划题干给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。示例 1:输入:nums = [1,2,3]输出:[1,2]解释:[1,3] 也会被视为正确答案。示例原创 2021-04-23 17:44:00 · 120 阅读 · 0 评论 -
leetcode 91.解码方法 - 动态规划
leetcode 91.解码方法 - 动态规划题干一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “原创 2021-04-21 21:18:22 · 117 阅读 · 0 评论 -
leetcode 198.打家劫舍 & 213.打家劫舍II - 动态规划
leetcode 198.打家劫舍 & 213.打家劫舍II - 动态规划题干198.打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号原创 2021-04-15 15:01:54 · 85 阅读 · 0 评论 -
leetcode C - 分糖果 - 动态规划
leetcode C - 分糖果 - 动态规划题干由于在维护世界和平的事务中做出巨大贡献,蒜头君被赠予糖果公司若干无限量糖果免费优惠券。蒜头君可以从糖果公司的 N件产品中任意选择若干件带回家享用。糖果公司的 N件产品每件都包含数量不同的糖果。蒜头君希望他选择的产品包含的糖果总数是 K的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖果总数越多越好。蒜头君最多能带走多少糖果呢?注意:蒜头君只能将糖果公司的产品整件带走。输入格式第一行包含两个整数 N(原创 2021-04-13 22:21:19 · 963 阅读 · 0 评论 -
leetcode 264.丑数II
leetcode 264.丑数II题干给你一个整数 n ,请你找出并返回第 n 个 丑数。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2:输入:n = 1输出:1解释:1 通常被视为丑数。提示:1 <= n <= 1690知识点&算法DP:丑数是分解质因数后只有2 3 5原创 2021-04-11 15:57:26 · 123 阅读 · 0 评论 -
E - 带通配符的字符串匹配 - 动态规划
E - 带通配符的字符串匹配 - 动态规划题干通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号 (?) 和星号 () 等,其中,"?" 可以代替一个字符,而 "" 可以代替零个或多个字符。你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。例如,1?456 可以匹配 12456、13456、1a456,但是却不能够匹配 23456、1aa456; 2*77?8 可以匹配 24457798、23770原创 2021-04-09 01:01:55 · 373 阅读 · 0 评论 -
leetcode 1143.最长公共子序列
leetcode 1143.最长公共子序列题干给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有原创 2021-04-05 00:33:38 · 66 阅读 · 0 评论 -
HDU 2159.FATE - 完全背包
HDU 2159.FATE - 完全背包题干最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗?Input输入数据有多组,对于每组数据第一行输入n,m,k,s(0原创 2021-04-04 00:01:38 · 135 阅读 · 0 评论 -
POJ 1384.Piggy-Bank - 完全背包
POJ 1384.Piggy-Bank - 完全背包题干Before ACM can do anything, a budget must be prepared and the necessary financial support obtained.The main income for this action comes from Irreversibly Bound Money (IBM).The idea behind is simple. Whenever some ACM member原创 2021-04-03 22:42:32 · 124 阅读 · 0 评论 -
J - Big Event in HDU
J - Big Event in HDU题干Nowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don’t know that Computer College had ever been split into Computer College and Software College in 2002.The splitting is absolutely a big原创 2021-03-30 21:48:56 · 104 阅读 · 0 评论