随笔分类 -  动态规划 - 数位dp

摘要:题目大意:求 [a,b] 中 0 9 分别出现了多少次。 题解:看数据范围应该是一个数位dp。 在 dfs 框架中维护当前的位置和到当前位置一共出现了多少个 $x,x\in [0,9]$。因此,用一个 dp[][] 数组记录一下状态即可,dp 的含义大概是前 i 位中出现了 j 个 x 的总 x 的 阅读全文
posted @ 2019-05-25 14:22 shellpicker 阅读(303) 评论(0) 推荐(0)
摘要:题目大意:求区间 [l,r] 内萌数的个数,其中萌数定义为数位中存在长度至少为 2 的回文子串的数字。 题解:l, r 都是 1000 位级别的数字,显然是一道数位 dp 的题目,暴力直接去世。 发现萌数的定义是一个存在性命题,并不好去求解。利用补集思想,将存在性命题转化成任意性命题,即:求区间 [ 阅读全文
posted @ 2019-05-25 14:17 shellpicker 阅读(393) 评论(0) 推荐(0)
摘要:题目大意:求区间 [n,m] 中数位不包含 4 和 62 的数字的个数。 题解:数位dp。 预处理出 $f[i][j]$ 表示 i 位数字中以 j 为第一位的满足条件的数字个数。 对于统计答案来说采用前缀和相减的方式,即:统计出 [0,m] 中有多少满足条件的数减去 [0,n 1] 中满足条件的数字 阅读全文
posted @ 2019-05-24 13:28 shellpicker 阅读(185) 评论(0) 推荐(0)