http://www.lydsy.com/JudgeOnline/problem.php?id=1833

2.5个小时就花在这上面了。。。

水到200题了。。。然并卵,天天做水题有什么前途。。。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll A, B;
  5. ll dp[][][], a[], ret[], ans[], bin[];
  6. void solve(ll n, int f)
  7. {
  8. int len = ; ll t = n; memset(a, , sizeof(a)); memset(ret, , sizeof(ret));
  9. while(n) a[++len] = n % , n /= ;
  10. for(int i = ; i < len; ++i)
  11. for(int j = ; j <= ; ++j)
  12. for(int k = ; k <= ; ++k) ret[k] += dp[i][j][k];
  13. // for(int i = 1; i < a[len]; ++i)
  14. // for(int j = 0; j <= 9; ++j) ret[j] += dp[len][i][j];
  15. for(int i = len; i; --i)
  16. {
  17. for(int j = ; j < a[i]; ++j)
  18. {
  19. if(!j && i == len) continue;
  20. for(int k = ; k <= ; ++k) ret[k] += dp[i][j][k];
  21. }
  22. ret[a[i]] += t % bin[i] + ;
  23. }
  24. for(int i = ; i <= ; ++i) ans[i] += f * ret[i];
  25. }
  26. int main()
  27. {
  28. // freopen("countzj.in", "r", stdin);
  29. // freopen("countzj.out", "w", stdout);
  30. bin[] = 1ll; for(int i = ; i <= ; ++i) bin[i] = bin[i - ] * 10ll;
  31. for(int i = ; i <= ; ++i) dp[][i][i] = ;
  32. for(int i = ; i <= ; ++i)
  33. for(int j = ; j <= ; ++j)
  34. for(int k = ; k <= ; ++k)
  35. for(int l = ; l <= ; ++l) dp[i][j][l] += dp[i - ][k][l] + (ll)(j == l) * bin[i - ];
  36. scanf("%lld%lld", &A, &B);
  37. solve(B, ); solve(A - , -);
  38. for(int i = ; i <= ; ++i) printf("%lld ", ans[i]);
  39. printf("%lld\n", ans[]);
  40. // fclose(stdin); fclose(stdout);
  41. return ;
  42. }

bzoj1833的更多相关文章

  1. [BZOJ1833][ZJOI2010]count 数字计数

    [BZOJ1833][ZJOI2010]count 数字计数 试题描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 输入 输入文件中仅包含一行两个整数a ...

  2. 数位DP入门:(bzoj1833+3209)

    //我是来看文章创建时间的= = 膜拜了一下蔡大神.... 人生第一道自己写的数位DP...好吧以前是看题解然后也不知道为什么就过了的>_< 虽然说现在还是只会裸题= = 数位DP介绍: ...

  3. bzoj1833: [ZJOI2010]count 数字计数 数位dp

    bzoj1833 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. O ...

  4. 【bzoj1833】 ZJOI2010—count 数字计数

    http://www.lydsy.com/JudgeOnline/problem.php?id=1833 (题目链接) 题意 求在${[a,b]}$范围内整数中,每个数码出现的次数. Solution ...

  5. BZOJ1833 ZJOI2010 count 数字计数 【数位DP】

    BZOJ1833 ZJOI2010 count 数字计数 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包 ...

  6. bzoj1833: [ZJOI2010]count 数字计数 && codevs1359 数字计数

    bzoj1833 codevs1359 这道题也是道数位dp 因为0有前导0这一说卡了很久 最后发现用所有位数减1~9的位数就okay.....orzczl大爷 其他就跟51nod那道统计1出现次数一 ...

  7. [BZOJ1833][ZJOI2010]Count数字计数(DP)

    数位DP学傻了,怎么写最后都写不下去了. 这题严格上来说应该不属于数位DP?只是普通DP加上一些统计上的判断吧. 首先复杂度只与数的位数$\omega$有关,所以怎么挥霍都不会超. f[i][j][k ...

  8. LG2602/BZOJ1833 「ZJOI2010」数字计数 数位DP

    问题描述 LG2602 BZOJ1833 题解 数位\(\mathrm{DP}\)板子题. 注意限制位数.前导零. \([a,b]=[1,b]-[1,a-1]\) \(\mathrm{Code}\) ...

  9. 【BZOJ-1833】count数字计数 数位DP

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 2494  Solved: 1101[Submit][ ...

  10. bzoj1833 digit

    这道题其实挺水,只是写的时候需要想清楚.我的方法是: 1.将[a,b]转化为[0,b+1)-[0,a) 2.预处理出非0的v在区间[0,10^p)出现次数以及0在区间[0,10^p)出现数 3.将一个 ...

随机推荐

  1. 牛客多校Round 4

    Soved:3 rank:133 A.Ternay String 欧拉降幂一下 但是反复求phi会超时 但mod是同一个就可以记忆化一下 #include <bits/stdc++.h> ...

  2. 后台中的sql注入

    aa.getSqlMap().put("order"," and a.id not in(\'"+po.getId()+"\')"); \' ...

  3. 我的MYSQL学习心得链接

    http://www.cnblogs.com/lyhabc/p/3793524.html

  4. Springboot2.0中jpa默认创建的mysql表为myisam引擎问题

    使用Springboot2.0后,使用jpa操作mysql数据库时,默认创建的表的引擎是myisam,myisam是不能加外键的,找了一些资源,最终可以用此方法解决! yml格式: spring: j ...

  5. slf4j-api、slf4j-log4j12、log4j的关系

    在网上找到一篇关于这三个jar包的关系的博客,讲的很好,所以就转载了: https://blog.csdn.net/tengdazhang770960436/article/details/18006 ...

  6. kata练习题

    This time no story, no theory. The examples below show you how to write function accum: Examples: ac ...

  7. CodeForcesGym 100753K Upside down primes

    Upside down primes Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForc ...

  8. HDU 1573 解同余模线性方程组

    题目意思很直接就是一道裸的解线性同余模方程组的题目 #include <cstdio> #include <cstring> using namespace std; #def ...

  9. HDU 4923 (贪心+证明)

    Room and Moor Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of which is ...

  10. UVAL - 6755 - Swyper Keyboard

    先上题目: https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦. 题意:定义一种操作:给出一个字符串,然后手指就按照给 ...