随笔分类 -  DP-数位dp

摘要:数位dp的引入 首先假设有一天,我们遇见一道题: 求在 \([a,b]\) 的区间里,满足条件的数有多少个。 如果我们没学过数位dp,我们会打出这样一个暴力: for(i=a; i<=b; ++i) if(check(i)) ++ans; 这样的时间复杂度是 \(O(n\times \text{ch 阅读全文
posted @ 2022-01-18 17:18 zhangtingxi 阅读(421) 评论(0) 推荐(1)
摘要:题目链接 题目 原题来自:ZJOI 2010 给定两个正整数 \(a\) 和 \(b\),求在 [\(a,b\)] 中的所有整数中,每个数码 (\(digit\)) 各出现了多少次。 思路 首先在数位dp中,对于当前枚举的数,乘上后面的方案数。 那么后面的数如何多次计算呢? 我们发现这些数具有传递性 阅读全文
posted @ 2022-01-13 14:26 zhangtingxi 阅读(207) 评论(0) 推荐(0)
摘要:题目链接 题目 单身! 依然单身! 吉哥依然单身! DS 级码农吉哥依然单身! 所以,他平生最恨情人节,不管是 \(214\) 还是 \(77\),他都讨厌! 吉哥观察了 \(214\) 和 \(77\) 这两个数,发现: \(2+1+4=7\) \(7+7=7×2\) \(77=7 × 11\) 阅读全文
posted @ 2022-01-13 14:21 zhangtingxi 阅读(486) 评论(0) 推荐(0)
摘要:题目链接 题目 由于科协里最近真的很流行数字游戏,某人又命名了一种取模数,这种数字必须满足各位数字之和 \(\bmod N\) 为 \(0\)。现在大家又要玩游戏了,指定一个整数闭区间 [\(a,b\)],问这个区间内有多少个取模数。 思路 数位dp。 三个转态:当前第几位?现在这一位是否有上限?当 阅读全文
posted @ 2022-01-12 14:46 zhangtingxi 阅读(255) 评论(0) 推荐(0)
摘要:题目链接 题目 不含前导零且相邻两个数字之差至少为 \(2\) 的正整数被称为 windy 数。windy 想知道,在 \(a\) 和 \(b\) 之间,包括 \(a\) 和 \(b\) ,总共有多少个 windy 数? 思路 数位dp,用 \(b\) 以内的减去 \(a-1\) 以内的就是答案。 阅读全文
posted @ 2022-01-12 14:12 zhangtingxi 阅读(52) 评论(0) 推荐(0)
摘要:题目链接 题目 科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 \(123\),\(446\)。现在大家决定玩一个游戏,指定一个整数闭区间 [\(a,b\)],问这个区间内有多少个不降数。 思路 数位dp,用 \(b\) 以内的减去 \(a-1\ 阅读全文
posted @ 2022-01-12 14:10 zhangtingxi 阅读(288) 评论(0) 推荐(0)