很裸的数位dp。

#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PII pair<int, int>
#define y1 skldjfskldjg
#define y2 skldfjsklejg
using namespace std; const int N = 2e5 + ;
const int M = 1e7 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = ; LL f[][], L, R;
int s[], tot; LL dp(int p, int cnt, bool limit, bool zero, int val) {
if(p == -) return cnt;
if(!limit && !zero && ~f[p][cnt]) return f[p][cnt];
LL ans = ;
int up = limit ? s[p] : ;
for(int i = ; i <= up; i++) {
if(!val) ans += dp(p - , cnt + (!zero && (!i)), limit && (i == up), zero && (!i), val);
else ans += dp(p - , cnt + (val == i), limit && (i == up), zero && (!i), val);
}
if(!limit && !zero) f[p][cnt] = ans;
return ans;
} LL solve(LL x, int val) {
if(x < ) return ;
tot = ;
for(LL i = x; i; i /= ) s[tot++] = i % ;
memset(f, -, sizeof(f));
return dp(tot - , , , , val);
} int main() {
scanf("%lld%lld", &L, &R);
for(int i = ; i < ; i++) {
printf("%lld ", solve(R, i) - solve(L - , i));
}
puts("");
return ;
} /*
*/

最新文章

  1. osg绘制一个球体
  2. .net 获取AppDomain创建了多少
  3. 创建生产订单函数BAPI_PRODORD_CREATE
  4. [工作积累] 32bit to 64bit: array index underflow
  5. echarts 地图与时间轴混搭
  6. HOJ1014
  7. C指针(转)
  8. JavaFX 简单3D演示样例
  9. JRE System Library [JavaSE-1.7](unbound)
  10. springboot~如何去掌握它(新手可以看看)
  11. hash(散列函数)
  12. SAP S/4嵌入式分析——虚拟数据模型(VDM)
  13. java中Arrays的用法
  14. Architecture.SOLID-Principles
  15. ASP.NET Web API实践系列01,以ASP.NET Web Form方式寄宿
  16. Windows2008|2003超出最大连接数
  17. 6.15-初识JSP、javaweb
  18. db2表空间及日志文件调整
  19. 规范大于编码-我的javaWeb开发规范
  20. yield方法

热门文章

  1. Socket初识2
  2. 基于javaWeb阶段下的Cookie和Session总结
  3. OpenCV---圆检测
  4. Asp.Net MVC 自定义登录过滤器
  5. Java 8 Stream 用法
  6. VS Code 配置 C/C++ 环境
  7. vee-validate
  8. 01 DIV+CSS 固定页面布局
  9. (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序
  10. 在JavaScript中重写jQuery对象的方法