题目链接

找$[1$ ~ $a-1]$和$[1$ ~ $b]$中各数码出现的次数之后相减就是答案

上代码:

/**************************************************************
Problem: 1833
User: zhangheran
Language: C++
Result: Accepted
Time:0 ms
Memory:1292 kb
****************************************************************/ #include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a,b;
long long f[];
long long dp[];
long long ansa[];
long long ansb[];
long long tot;
long long qwq[];
long long qaq[];
int lena,lenb;
int main()
{
// freopen("1.in","r",stdin);
// freopen("1.out","w",stdout);
scanf("%lld%lld",&a,&b);
dp[]=;
for(int i=;i<=;i++)
f[i]=f[i-]*+dp[i-],
dp[i]=dp[i-]*;
a--;
while(a) qwq[++lena]=a%,a/=;
while(b) qaq[++lenb]=b%,b/=; for(int i=lena;i>=;i--){
long long now=;
for(int j=;j<=;j++) ansa[j]+=qwq[i]*f[i-];
for(int j=;j<qwq[i];j++) ansa[j]+=dp[i-];
for(int j=i-;j>;j--) now*=,now+=qwq[j];
ansa[qwq[i]]+=now+;
ansa[]-=dp[i-];
// printf("%lld %lld\n",qwq[i],ansa[qwq[i]]);
}
// puts("");
for(int i=lenb;i>=;i--){
// printf("%lld ",qaq[i]);
long long now=;
for(int j=;j<=;j++) ansb[j]+=qaq[i]*f[i-];
for(int j=;j<qaq[i];j++) ansb[j]+=dp[i-];
for(int j=i-;j>;j--) now*=,now+=qaq[j];
ansb[qaq[i]]+=now+;
ansb[]-=dp[i-];
// printf("%lld %lld\n",qaq[i],ansb[qaq[i]]);
}
// puts("");
for(int i=;i<=;i++) printf("%lld ",ansb[i]-ansa[i]);
}
//655 1044

bzoj1833数字计数的更多相关文章

  1. bzoj1833 数字计数

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

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

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

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

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

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

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

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

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

  6. BZOJ_1833_[ZJOI2010]_数字计数_(数位dp)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1833 统计\(a~b\)中数字\(0,1,2,...,9\)分别出现了多少次. 分析 数位dp ...

  7. BZOJ 1833: [ZJOI2010]count 数字计数( dp )

    dp(i, j, k)表示共i位, 最高位是j, 数字k出现次数. 预处理出来. 差分答案, 对于0~x的答案, 从低位到高位进行讨论 -------------------------------- ...

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

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

  9. BZOJ_1833_[ZJOI2010]count 数字计数_数位DP

    BZOJ_1833_[ZJOI2010]count 数字计数_数位DP 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 分析: 数位DP f[i][ ...

随机推荐

  1. 一个word小技巧

    最近在进行word格式重拍的时候发现了一个有些恶心的事,怎么去匹配文档里面所有的中文呢? 后来通过网络搜索发现了答案,在word中的查找和替换中有一个选项,可以使用通配符进行匹配. 当我们使用 ([一 ...

  2. cf499A-Watching a movie

    http://codeforces.com/problemset/problem/499/A A. Watching a movie   You have decided to watch the b ...

  3. 【UVA10079 训练指南】收集者的难题【最大流】

    题意: Bob和他的朋友从糖果包装里手机贴纸.这些朋友每人手里都有一些(可能有重复的)贴纸,并且只跟别人交换他所没有的贴纸,贴纸总是一对一交换. Bob比这些朋友更聪明,因为他意识到只跟别人交换自己没 ...

  4. 文件后缀与mime类型对应表

    //文档文件类型的 .ai application/postscript    .eps application/postscript    .exe application/octet-stream ...

  5. Xcode8 问题

    ios10 定位问题,在plist中手动添加NSCameraUsageDescription http://www.cocoachina.com/bbs/read.php?tid-1685721.ht ...

  6. Linux下各种解压命令

    本文介绍了linux下的压缩程式tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar等程式,以及如何使用它们 ...

  7. ubuntu mysql导出数据库及数据

    mysqldump -u root -p mask_rcnn_realsense > /home/luo/mask_rcnn_realsense1.sql

  8. 新手教程: 如何在新浪云计算SAE里部署代码

    感谢 sou6 的投递 时间:2011-11-22 来源:老夏博客 SAE自2011-7-10日起,全面支持SVN代码部署,用户不仅可以通过任何SVN客户端部署代码,而且SAE现有的代码部署方式也已经 ...

  9. 653. Two Sum IV - Input is a BST 二叉树版本

    [抄题]: Given a Binary Search Tree and a target number, return true if there exist two elements in the ...

  10. linux系统chkconfig使用方法及服务开机启动

    一.基础知识 有关linux系统开机过程.运行等级,执行权限请看另一篇:linux系统启动过程及运行等级详解. 本篇文章实践的系统:centos6.5 二.创建服务 通过之前的说明,我们知道了如果需要 ...