https://www.acwing.com/problem/content/description/1083/
度的数量
求给定区间 [X,Y] 中满足下列条件的整数个数:这个数恰好等于 K 个互不相等的 B
的整数次幂之和。
例如,设 X=15,Y=20,K=2,B=2
,则有且仅有下列三个数满足题意:
17=24+20
18=24+21
20=24+22
输入格式
第一行包含两个整数 X
和 Y,接下来两行包含整数 K 和 B
。
输出格式
只包含一个整数,表示满足条件的数的个数。
数据范围
1≤X≤Y≤231−1
,
1≤K≤20,
2≤B≤10
输入样例:
15 20
2
2
输出样例:
3
| 难度: 中等 |
| 时/空限制: 1s / 64MB |
| 总通过数: 195 |
| 总尝试数: 382 |
| 来源: 《信息学奥赛一本通》 , Ural 1057 |
| 算法标签 |
将问题放在B进制意义下考虑,即求在[l, r]的区间

博客介绍了如何解决一个数论计数问题,即在给定区间[X, Y]内找到恰好由K个互不相等的B的整数次幂组成的数的个数。提供了三种解题方法:B进制意义下的计算、数位DP和记忆化搜索。并给出了数据范围和样例输入输出。"
89465109,1490623,Java创建型设计模式详解,"['Java', '设计模式', '创建型']

3105





