博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Amount of Degrees
阅读量:4664 次
发布时间:2019-06-09

本文共 905 字,大约阅读时间需要 3 分钟。

如果数位dp一直是这个难度,我将永远和数位dp告别

我记得有篇博客叫做“刘聪浅谈数位dp”

里面有幅图,挺好看的

很久之前写的了代码

忘了为什么要这么做

QwQ

#include
#define re return #define reg register #define ll long long #define inc(i,l,r) for(int i=l;i<=r;++i)#define dec(i,l,r) for(int i=l;i>=r;--i)using namespace std;ll l,r,k,b,f[44][44],num[44];void vivi(){ f[0][0]=1; inc(i,1,31){ f[i][0]=f[i-1][0]; inc(j,1,i) f[i][j]=f[i-1][j]+f[i-1][j-1]; }} ll solve(ll x){ int len=0; while(x){ num[++len]=x%b; x/=b; } ll ans=0,cnt=0; dec(i,len,1) if(num[i]==1) { ans+=f[i-1][k-cnt]; ++cnt; if(cnt==k)re ans+1; } else if(num[i]>1)re ans+f[i][k-cnt]; re ans;}int main(){// freopen("in.txt","r",stdin); scanf("%lld%lld%lld%lld",&l,&r,&k,&b); vivi(); printf("%lld ",solve(r)-solve(l-1)); re 0;}

 

转载于:https://www.cnblogs.com/lsyyy/p/11389773.html

你可能感兴趣的文章
doviceone- http组件进行webservice的POST请求
查看>>
Killer Problem (UVA 11898 )
查看>>
MVC模式在Java web应用程序中的实现
查看>>
五种开源协议的比较
查看>>
递推和递归Number Sequence
查看>>
一.多线程技能
查看>>
Nginx 常用命令总结
查看>>
hall wrong behavior
查看>>
Markdown test
查看>>
Collection集合
查看>>
int最大值+1为什么是-2147483648最小值-1为什么是2147483647
查看>>
【C++】const在不同位置修饰指针变量
查看>>
github新项目挂历模式
查看>>
编写jquery插件
查看>>
敏捷开发笔记
查看>>
神秘海域:顶级工作室“顽皮狗”成长史(下)
查看>>
C++指针、引用知多少?
查看>>
services 系统服务的启动、停止、卸载
查看>>
Fiddler 网页采集抓包利器__手机app抓包
查看>>
Number and String
查看>>