Luogu2602[ZJOI2010] 数字计数
原题链接:https://www.luogu.org/problemnew/show/P2602
数字计数
题目描述
给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。
输入输出格式
输入格式:
输入文件中仅包含一行两个整数a、b,含义如上所述。
输出格式:
输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。
输入输出样例
输入样例#1:
1 99
输出样例#1:
9 20 20 20 20 20 20 20 20 20
说明
30%的数据中,a<=b<=10^6;
100%的数据中,a<=b<=10^12。
题解
数位dpdpdp第一题。。。
感觉记忆化搜索很可写的样子,边界也挺清晰的。
dp[i][0/1][j][0/1]dp[i][0/1][j][0/1]dp[i][0/1][j][0/1]表示从高到低第iii位,是否可以遍历0∼90\sim 90∼9,当前统计的数字出现次数,是否有前导000时统计数字的个数。
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int M=15;
ll dp[M][2][M][2],n,m;
int num[M],len;
ll dfs(int len,bool all,int cot,bool zero,int now)
{ll ans=0;if(!len)return cot;if(~dp[len][all][cot][zero])return dp[len][all][cot][zero];for(int i=0;i<=9&&(all||i<=num[len]);++i)ans+=dfs(len-1,all||i<num[len],cot+((!zero||i)&&(i==now)),zero&&(i==0),now);return dp[len][all][cot][zero]=ans;
}
ll work(ll x,int now)
{for(len=0;x;x/=10)num[++len]=x%10;memset(dp,-1,sizeof(dp));return dfs(len,0,0,1,now);
}
void in(){scanf("%lld%lld",&n,&m);}
void ac(){for(int i=0;i<=9;++i)printf("%lld ",work(m,i)-work(n-1,i));}
int main(){in(),ac();}
Luogu2602[ZJOI2010] 数字计数相关推荐
- BZOJ1833:[ZJOI2010]数字计数——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1833 https://www.luogu.org/problemnew/show/P2602 给定两 ...
- [ZJOI2010]数字计数
一眼数位dp,但...调试了好久.. /*** Problem:Count* Author:Shun Yao* Time:2013.5.31* Result:Accepted* Memo:DP*/#i ...
- 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 2774 Solved: 1230 [Submit ...
- 1833: [ZJOI2010]count 数字计数
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 2951 Solved: 1307 [Submit ...
- bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
1833: [ZJOI2010]count 数字计数 题目:传送门 题解: 今天是躲不开各种恶心DP了??? %爆靖大佬啊!!! 据说是数位DP裸题...emmm学吧学吧 感觉记忆化搜索特别强: 定义 ...
- bzoj 1833: [ZJOI2010]count 数字计数(数字0-9的个数)
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 3528 Solved: 1553 [Submit ...
- DP专练2 (大理石 + [ZJOI 2010]数字计数)
你肯定以为DP专练会有很多题, 但是请考虑一下本仙女的DP码力,一次性能更几个题... 来吧,别害怕呀~~ 文章目录 大理石 题目 题解 代码实现 数字计数 题目 题解 代码实现 大理石 题目 林老师 ...
- BZOJ 1833 ZJOI2010 count 数字计数 数位DP
题目大意:求[a,b]间全部的整数中0~9每一个数字出现了几次 令f[i]为i位数(算前导零)中每一个数出现的次数(一定是同样的,所以仅仅记录一个即可了) 有f[i]=f[i-1]*10+10^(i- ...
- [BZOJ1833][ZJOI2010]Count数字计数(DP)
数位DP学傻了,怎么写最后都写不下去了. 这题严格上来说应该不属于数位DP?只是普通DP加上一些统计上的判断吧. 首先复杂度只与数的位数$\omega$有关,所以怎么挥霍都不会超. f[i][j][k ...
- bzoj1833: [ZJOI2010]count 数字计数USACO37 Cow Queueing 数数的梦(数位DP)
难受啊,怎么又遇到我不会的题了(捂脸) 如题,这是一道数位DP,随便找了个博客居然就是我们大YZ的--果然nb,然后就是改改模版++注释就好的了,直接看注释吧,就是用1~B - 1~A-1而已,枚举全 ...
最新文章
- 如何用python读取文本中指定行的内容
- Cassandra 数据分区
- vue中的nextTick
- mysql完整字段包括_MySQL字段类型最全解析
- vue中用的swiper轮播图的用法github的地址
- linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现
- python使用t-sne算法降维,方便可视化
- shellcode编写技巧
- javascript进阶——Ajax
- 【NOIP2015】【Luogu2615】神奇的幻方(模拟填数)
- Q120:PBRT-V3,“直接光照”积分器(14.3章节)(翻译不下去了)
- GIS案例练习-----------第八天
- 黑鲨创建nt6引导出错_黑苹果神器,一键生成OpenCore EFI 文件
- 2022年作为一个中年程序员写给35岁的自己
- 对客户进行分级管理的原因
- linux绝育玩客云_玩客云实用指南(真·无痛绝育),附玩物下载对比
- 多个containers 共用一个pvc_长兴PVC废料回收一斤多少钱,ps废料回收
- 【视频开发】【CUDA开发】ffmpeg nvenc编码
- 安利几款win10小工具
- C++ 学生成绩管理系统
热门文章
- Chisel:基于HTTP的快速稳定TCPUDP隧道工具
- Raki的读paper小记:SimCSE: Simple Contrastive Learning of Sentence Embeddings
- .NET core ABP 获取远程IP地址
- android画板笔锋实现
- SonarQube规则之坏味道类型
- [转]SAPUI5 (01) - OpenUI5环境搭建
- nodejs,webpack安装以及初步运用
- SQL Server 日期+4位流水号
- cocos2dx box2d使用(一)
- HTML5学习笔记简明版(1):HTML5介绍与语法