数的度量——一道计数问题的三种做法

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

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
算法标签
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值