随笔分类 - DP-数位dp
摘要:数位dp的引入 首先假设有一天,我们遇见一道题: 求在 的区间里,满足条件的数有多少个。 如果我们没学过数位dp,我们会打出这样一个暴力: for(i=a; i<=b; ++i) if(check(i)) ++ans; 这样的时间复杂度是 \(O(n\times \text{ch
阅读全文
摘要:题目链接 题目 原题来自:ZJOI 2010 给定两个正整数 和 ,求在 [] 中的所有整数中,每个数码 () 各出现了多少次。 思路 首先在数位dp中,对于当前枚举的数,乘上后面的方案数。 那么后面的数如何多次计算呢? 我们发现这些数具有传递性
阅读全文
摘要:题目链接 题目 由于科协里最近真的很流行数字游戏,某人又命名了一种取模数,这种数字必须满足各位数字之和 为 。现在大家又要玩游戏了,指定一个整数闭区间 [],问这个区间内有多少个取模数。 思路 数位dp。 三个转态:当前第几位?现在这一位是否有上限?当
阅读全文
摘要:题目链接 题目 不含前导零且相邻两个数字之差至少为 的正整数被称为 windy 数。windy 想知道,在 和 之间,包括 和 ,总共有多少个 windy 数? 思路 数位dp,用 以内的减去 以内的就是答案。
阅读全文
摘要:题目链接 题目 科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 ,。现在大家决定玩一个游戏,指定一个整数闭区间 [],问这个区间内有多少个不降数。 思路 数位dp,用 以内的减去 \(a-1\
阅读全文