一眼数位dp,但。。。调试了好久。。

/*** Problem:Count* Author:Shun Yao* Time:2013.5.31* Result:Accepted* Memo:DP*/#include <cstdio>
#include <cstring>long long ans[10], s[15], tmp[10], f[15][10][10];void calc(long long b, char y) {long i, j, l, t, k;long long q;if (b == 0) {if (y)++ans[0];else--ans[0];return;}memset(s, 0, sizeof s);memset(f, 0, sizeof f);memset(tmp, 0, sizeof tmp);k = 0;while (b) {s[++k] = b % 10;b /= 10;}q = 1;for (i = 1; i <= k; ++i) {for (j = 0; j <= 9; ++j) {f[i][j][j] = q;for (l = 0; l <= 9; ++l)for (t = 0; t <= 9; ++t)f[i][j][l] += f[i - 1][t][l];}q *= 10;}if (k > 0) {for (j = 2; j <= k; ++j)tmp[s[j]] += s[1] + 1;for (l = 0; l <= 9; ++l)for (j = 0; j <= s[1]; ++j)tmp[l] += f[1][j][l];}q = 10;for (i = 2; i < k; ++i) {for (j = i + 1; j <= k; ++j)tmp[s[j]] += s[i] * q;for (l = 0; l <= 9; ++l)for (j = 0; j < s[i]; ++j)tmp[l] += f[i][j][l];q *= 10;}if (k > 2) {for (i = 0; i <= 9; ++i)tmp[i] += f[1][i][i];for (i = 2; i < k; ++i)for (j = 0; j <= 9; ++j)for (l = 1; l <= 9; ++l)tmp[j] += f[i][l][j];for (i = 1; i < s[k]; ++i)for (j = 0; j <= 9; ++j)tmp[j] += f[k][i][j];}for (i = 0; i <= 9; ++i)if (y)ans[i] = tmp[i];elseans[i] -= tmp[i];
}int main() {long i;long long a, b;freopen("count.in", "r", stdin);freopen("count.out", "w", stdout);scanf("%lld%lld", &a, &b);calc(b, 1);calc(a - 1, 0);printf("%lld", ans[0]);for (i = 1; i <= 9; ++i)printf(" %lld", ans[i]);fclose(stdin);fclose(stdout);return 0;
}

转载于:https://www.cnblogs.com/hsuppr/archive/2013/06/03/3115477.html

[ZJOI2010]数字计数相关推荐

  1. BZOJ1833:[ZJOI2010]数字计数——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1833 https://www.luogu.org/problemnew/show/P2602 给定两 ...

  2. 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 2774  Solved: 1230 [Submit ...

  3. 1833: [ZJOI2010]count 数字计数

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 2951  Solved: 1307 [Submit ...

  4. bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)

    1833: [ZJOI2010]count 数字计数 题目:传送门 题解: 今天是躲不开各种恶心DP了??? %爆靖大佬啊!!! 据说是数位DP裸题...emmm学吧学吧 感觉记忆化搜索特别强: 定义 ...

  5. bzoj 1833: [ZJOI2010]count 数字计数(数字0-9的个数)

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 3528  Solved: 1553 [Submit ...

  6. DP专练2 (大理石 + [ZJOI 2010]数字计数)

    你肯定以为DP专练会有很多题, 但是请考虑一下本仙女的DP码力,一次性能更几个题... 来吧,别害怕呀~~ 文章目录 大理石 题目 题解 代码实现 数字计数 题目 题解 代码实现 大理石 题目 林老师 ...

  7. BZOJ 1833 ZJOI2010 count 数字计数 数位DP

    题目大意:求[a,b]间全部的整数中0~9每一个数字出现了几次 令f[i]为i位数(算前导零)中每一个数出现的次数(一定是同样的,所以仅仅记录一个即可了) 有f[i]=f[i-1]*10+10^(i- ...

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

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

  9. bzoj1833: [ZJOI2010]count 数字计数USACO37 Cow Queueing 数数的梦(数位DP)

    难受啊,怎么又遇到我不会的题了(捂脸) 如题,这是一道数位DP,随便找了个博客居然就是我们大YZ的--果然nb,然后就是改改模版++注释就好的了,直接看注释吧,就是用1~B - 1~A-1而已,枚举全 ...

最新文章

  1. 运放使用中不稳定怎么办?
  2. 百度数据挖掘研发工程师实习笔试面试
  3. DTCC 2020 | 阿里云吉剑南:在线分析进入Fast Data时代的关键技术解读
  4. 《深入理解LINUX网络技术内幕》小记1
  5. java 走马灯程序,详解微信小程序实现跑马灯效果(附完整代码)
  6. 如何获取Android移动终端设备唯一ID
  7. 多网卡配置同一网段IP情况解析
  8. 用VBA制作Excel单选框和多选框
  9. vue中加载OCX控件(IE浏览器执行)
  10. PS自定义形状+笔刷添加打造完美水印
  11. 【BZOJ4414】数量积
  12. 在家搭建 Minecraft 服务器,和远程小伙伴一起联机
  13. 机器学习(十一):新闻摘要提取小案例
  14. 盘点各大互联网公司2017中秋月饼设计,你最喜欢哪一个?
  15. matlab零序五次谐波,基于5次谐波的小电流接地系统故障选线方法仿真与分析.docx...
  16. Gradle配置文件解决你的问题。
  17. 澳大利亚种植最辣辣椒 制作辣酱需穿防护服
  18. LeetCode 96~100
  19. RT-Thread 入门学习笔记 - 熟悉全局中断的操作
  20. FTP主动和被动模式区别

热门文章

  1. ubuntu文件、目录操作基本命令
  2. 利用Quartus设计4位同步二进制加法计数器
  3. SAP用户出口(exit)问题--数据源增强
  4. Entity Framework 4.1(转)
  5. USB Host Device And OTG
  6. AI技术已达如此高度:去码、上色6到飞起
  7. Flink 靠什么征服饿了么工程师?
  8. 专访《王者荣耀》美术总监:用6年研究东方美学
  9. 玩法与叙事撕裂许久,3A与暴力却难分难舍
  10. 游戏中子弹的工作原理