2022-08-17 数位DP

概念

数位DP 是与数位相关的一类技术类DP,一般用于统计[l,r]区间满足特定条件的元素逇个数;
数位指的是个位、十位、百位、千位等;
数位DP就是在数位上进行动态规划
数位DP实质上是一种有策略的穷举方式,在子问题求解完毕后将其结果记忆化就可以了

如何枚举

枚举[0,386]区间所有数的时候,首先从百位开始枚举,百位可能是 0,1,2,3 枚举的时候不超过386 即可

1、百位0:十位 可以是 0 ~ 9,个位也可以是0 ~ 9,枚举没有限制,
因为百位是0之后,后面的位数无论是多少都不可能超过386,相当于枚举 000 ~ 099
2、百位1:十位可以枚举 0~9 个位也可以是0~9 枚举
     没有限制 枚举 100~199
3、百位2:同百位 1
    没有限制,枚举200 ~ 2999
 
  • 百位3 :
1、十位只可以是 0 ~ 8,否则的话超过了 386--此时是有上边界 限制的
2、当十位是0~7的时候,个位可以是0~9,因为379 < 386 ;
3、当十位是8的时候,个位只能是 0~6 此时是有上边界限制的 
如何枚举

image.png

数位DP需要注意的问题

  • 记忆化:
    无限制的时候,可以记忆化
    有限制的时候,不可以记忆化
  • 上限限制
    当高位枚举刚好达到上边界的时候,紧邻着的下一位枚举就有上界限制了,可以设置一个limit标记是否有上界限制
  • 高位枚举
    高位枚举0,
  • 前导0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自http://blog.csdn.net/wust_zzwh/article/details/52100392...
    扎Zn了老Fe阅读 1,962评论 1 4
  • 今天,我向大家介绍一种特殊的DP类型——数位DP。数位DP这类题目一般不会出现在提高组及以下的比赛中(今后出现了当...
    信息学小屋阅读 606评论 0 1
  • 序 天堂在左,战士向右 引言 数位DP在竞赛中的出现几率极低,但是如果不会数位DP,一旦考到就只能暴力骗分。以下是...
    影踪派熊猫人武僧阅读 2,546评论 0 0
  • 输入正整数A,B,C,统计满足1≤x≤A,1≤y≤B且至少满足下列条件之一:①x and y > C②x xor ...
    kinoud阅读 448评论 0 0
  • 记录今天在Acwing学习的几道数位Dp题目,整理了思路,方便以后的复习: 1.度的数量 题目描述 求给定区间 [...
    _NewMoon阅读 615评论 0 3