动态规划dp
文章平均质量分 72
替这位空想家惊讶
让那恐龙成群行过台面
展开
-
【数位dp】剑指 Offer 43. 1~n 整数中 1 出现的次数
题目描述输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。数据范围:1 <= n < 2^31示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6思路这道题看了数据范围之后我就知道这是我不会的题目了,在leetcode评论区得知这是一道经典数位dp题目后,我就去了解了数位dp的思想,特别是参考了b站大佬对于数位dp思想视频讲解后,豁然开朗,依葫芦画瓢原创 2021-08-02 20:12:32 · 147 阅读 · 0 评论 -
【动态规划dp+前缀和】 [蓝桥杯2018决赛]搭积木
题目描述小明对搭积木非常感兴趣。他的积木都是同样大小的正立方体。在搭积木时,小明选取 m 块积木作为地基,将他们在桌子上一字排开,中间不留空隙,并称其为第0层。随后,小明可以在上面摆放第1层,第2层,……,最多摆放至第n层。摆放积木必须遵循三条规则:规则1:每块积木必须紧挨着放置在某一块积木的正上方,与其下一层的积木对齐;规则2:同一层中的积木必须连续摆放,中间不能留有空隙;规则3:小明不喜欢的位置不能放置积木。其中,小明不喜欢的位置都被标在了图纸上。图纸共有n行,从下至上的每一行分别对应积木原创 2021-05-29 21:44:15 · 2766 阅读 · 0 评论 -
【dp动态规划】蓝桥杯真题 2018初赛 测试次数
题目描述x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n层扔没摔坏原创 2021-04-14 21:56:58 · 150 阅读 · 0 评论 -
【dp状态压缩】leetcode1542. 找出最长的超赞子字符串
题目给你一个字符串 s 。请返回 s 中最长的 超赞子字符串 的长度。「超赞子字符串」需满足满足下述两个条件:该字符串是 s 的一个非空子字符串进行任意次数的字符交换后,该字符串可以变成一个回文字符串实例1: 输入:s = "3242415" 输出:5 解释:"24241" 是最长的超赞子字符串,交换其中的字符后,可以得到回文 "24142"实例2: 输入:s = "12345678" 输出:1实例3: 输入:s = "213123" 输出:6 解释:"213123"原创 2020-10-05 18:09:20 · 207 阅读 · 1 评论 -
【字符串】【动态规划】leetcode 115. 不同的子序列
题目给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。输入:S = "rabbbit", T = "rabbit"输出:3解释:如下图所示, 有 3 种可以从 S 中得到 "rabbit" 的方案。(上箭头符号 ^ 表示选取的字母)rab原创 2020-06-13 10:59:53 · 189 阅读 · 0 评论 -
【动态规划】leetcode 44. 通配符匹配
题目给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。输入:s = "aa"p = "*"输出: true解释: '*...原创 2020-05-08 10:26:55 · 109 阅读 · 0 评论 -
【动态规划】leetcode 983. 最低票价
题目在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行。 ...原创 2020-05-06 13:35:02 · 122 阅读 · 0 评论 -
P1433 吃奶酪 题解 状态压缩 DP
日常深夜更博 又是因为把n写成了数字找bug找了半天 哭这道题一开始我用dfs写了,但是最后一个数据点没过然后木有办法就只能再学一次状态压缩,写出来了思路在代码里:#include<bits/stdc++.h>#define inf 99999999using namespace std;double dp[1<<15][20]; //dp数组,第一项表示每个...原创 2020-01-29 02:57:48 · 292 阅读 · 0 评论 -
leetcode 6道股票题 动态规划dp
思路:①每天对股票都有三个选择:买入、卖出、保持②dp数组描述的状态有三种:第n天、第k次交易、是否持有股票状态方程:i表示持有股票天数,k表示交易的次数, 0表示没有持有股票,1表示持有股票①今天(第i天) 没有持有股票 2种原因: A.昨天(第i-1天)也没有持有股票,保持不变  ...原创 2020-03-09 16:41:08 · 233 阅读 · 0 评论