
数位dp
文章平均质量分 71
Brightess
毕业于湖南城市学院
目前在某游戏大厂搬砖(
展开
-
AcWing 1085. 不要62(数位dp)
题意:定义 不吉利的数字 为所有 含有 4 或 62 的号码。例如:62315,73418,88914 都属于 不吉利号码。但是,61152 虽然含有 6 和 2,但不是连号,所以属于 吉利数字 之列。给定区间 [a, b],问其中有多少个 吉利数字?思路:本题和之前几道数位dp的题目思考方式类似,假设 数字 num 当前枚举到第 i 位,且 第 i 位数字是 x,那么对于 答案的第 i 位数字 j 来说,有 两种填法:1.0 ~ x - 1用 last 表示 num 中第 i ...原创 2022-04-15 16:04:20 · 747 阅读 · 0 评论 -
AcWing 1084. 数字游戏 II(数位dp)
题意:定义一种取模数,这种数字必须满足 各位数字之和 mod N 为 0。指定一个整数闭区间 [a, b],问这个 区间内有多少个取模数。思路:一般来说,数位Dp这类题目难点在于 如何预处理左分支方案数对于本题,假设我们当前枚举到的第 i 位,且第 i 位上的数字是 x,那么对于答案中的第 i 位数字 j 来说,可以填两类数:1.0 ~ x - 1用 j 表示第 i 位数字(最高位),用 last 表示当前数严格前面数位上的数字之和,用sum表示后 i + 1 位(包括第 i 位)数字..原创 2022-04-14 21:24:15 · 3001 阅读 · 0 评论 -
AcWing 1083. Windy数(数位dp)
题意:Windy 数定义:不含前导零 且 相邻两个数字之差至少为 2 的 正整数。输入两个整数:A 、B问:在 A 和 B 之间,包括 A 和 B,总共有多少个 Windy 数?思路:和前两题的思路一样,我们分别对 A - 1、B 两个数进行数位dp操作,求出 dp(B)([0, B] 区间内Windy数的数量),dp(A-1)([0, A-1] 区间内Windy数的数量)。之后利用前缀和的思想,区间 [A, B] 内Windy数的数量即为:dp(B) - dp(A-1)。对于一个数 N,..原创 2022-04-14 17:18:35 · 641 阅读 · 0 评论 -
AcWing 1082. 数字游戏(数位dp)
题意:定义 “不降数”:满足从左到右各位数字呈非下降关系的数字,如 123,446现指定一个整数闭区间 [a,b],问这个区间内有多少个不降数。思路:这道题仍旧可以延续上一题AcWing 1081. 度的数量的思考方式,把 x 的每一位存储到数组中去,从最高位依次枚举,对于每一位,我们有两个分支,我们以顶点为例子:填 0~a(n-1) 中的任意数字,记为 x。填 a(n) 的方案,后续往下继续细分第n-1位。对于分支一(左分支):x 在前面,后面有 n-1 个位子,..原创 2022-04-13 23:06:57 · 3159 阅读 · 2 评论 -
AcWing 1081. 度的数量(数位统计dp)
题意:题目就是在一个区间[x,y]内,有多少个符合题意的数,“符合题意的数”是指:这个数的B进制表示中,其中有K位是1、其他位全是0。比如样例中B=2,K=2,这个数是18.就是把18化为二进制,18 化为二进制数为:10010,其中有2位1,其他位都是0.再比如 B=3,K=2,这个数是17.就是把17化为三进制,17化为三进制为110 ,其中也有2个1,其余都是0.思路:这是一道数位dp的题目,数位dp的题目的问法一般如下:某个区间内,满足某种性质的数的个数。对于数位dp问题一般..原创 2022-04-13 12:34:17 · 778 阅读 · 1 评论