链接:

#include <stdio.h>
int main()
{
puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢");
puts("网址:blog.csdn.net/vmurder/article/details/46444975");
}

题解:

然而并没有DP。

[1。R]的答案减去[1,L]的答案。

对于一个数 X 。求 [1,X] 的答案。我是先处理出 [1,999……9] 的答案(那个999……9 < X)

然后按位往下扫。计算最高位为 i 的数有多少个、i在非最高位出现了多少次。

明明每天睡得非常多,为什么还是困呢Qwq

一定是蚊子有毒。剧毒。

代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
long long ans[10];
int main()
{
// freopen("test.in","r",stdin); int i,j,k;
long long t,y,l,r; scanf("%lld%lld",&l,&r),l--;
if(l<0)ans[0]++,l=0; for(t=1,i=0,y=9;y<l;y=y*10+9,i++,t*=10)
{
ans[0]-=t*i*9/10;
for(j=1;j<10;j++)
{
ans[j]-=t*i*9/10;
ans[j]-=t;
}
} for(t=1,i=0,y=9;y<r;y=y*10+9,i++,t*=10)
{
ans[0]+=t*i*9/10;
for(j=1;j<10;j++)
{
ans[j]+=t*i*9/10;
ans[j]+=t;
}
}
for(t=1e13,i=13;t>l;i--,t/=10);
for(bool flag=1;i>=0;i--,t/=10)
{
for(j=0;j<10;j++)ans[j]-=t*i/10*(l/t-flag);
if(flag)flag=0;else if(l/t)ans[0]-=t;
for(j=1;j<l/t;j++)ans[j]-=t;
ans[l/t]-=(l+1-l/t*t),l%=t;
}
for(t=1e13,i=13;t>r;i--,t/=10);
for(bool flag=1;i>=0;i--,t/=10)
{
for(j=0;j<10;j++)ans[j]+=t*i/10*(r/t-flag);
if(flag)flag=0;else if(r/t)ans[0]+=t;
for(j=1;j<r/t;j++)ans[j]+=t;
ans[r/t]+=(r+1-r/t*t),r%=t;
}
printf("%lld",ans[0]);for(i=1;i<10;i++)printf(" %lld",ans[i]);
return 0;
}

【BZOJ1833】【ZJOI2010】数字计数 数位DP的更多相关文章

  1. UVA.1640.The Counting Problem / BZOJ.1833.[ZJOI2010]数字计数(数位DP)

    题目链接 \(Description\) 求\([l,r]\)中\(0,1,\cdots,9\)每个数字出现的次数(十进制表示). \(Solution\) 对每位分别DP.注意考虑前导0: 在最后统 ...

  2. Luogu P2602 [ZJOI2010]数字计数 数位DP

    很久以前就...但是一直咕咕咕 思路:数位$DP$ 提交:1次 题解:见代码 #include<cstdio> #include<iostream> #include<c ...

  3. 洛谷P2602 [ZJOI2010]数字计数(数位dp)

    数字计数 题目传送门 解题思路 用\(dp[i][j][k]\)来表示长度为\(i\)且以\(j\)为开头的数里\(k\)出现的次数. 则转移方程式为:\(dp[i][j][k] += \sum_{t ...

  4. [ZJOI2010]数字计数 数位DP

    最近在写DP,今天把最近写的都放上来好了,,, 题意:给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 首先询问的是一个区间,显然是要分别求出1 ~ r ,1 ...

  5. [luogu2602 ZJOI2010] 数字计数 (数位dp)

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

  6. 【题解】P2602 数字计数 - 数位dp

    P2602 [ZJOI2010]数字计数 题目描述 给定两个正整数 \(a\) 和 \(b\) ,求在 \([a,b]\) 中的所有整数中,每个数码(digit)各出现了多少次. 输入格式 输入文件中 ...

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

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

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

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

  9. [bzoj1833][ZJOI2010]count 数字计数——数位dp

    题目: (传送门)[http://www.lydsy.com/JudgeOnline/problem.php?id=1833] 题解: 第一次接触数位dp,真的是恶心. 首先翻阅了很多很多一维dp,因 ...

  10. [bzoj1833][ZJOI2010]数字计数(数位DP)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1833 分析:简单的数位DP f[i][j][k]表示在i位数.最高位j的所有数字中k的 ...

随机推荐

  1. .Net4.0 ashx页面报错:检测到有潜在危险的Request.Form值(转)

    原地址:http://zzhi191.blog.163.com/blog/static/1350849520111116518067/ web开发中难免要多到ajax技术. asp.net中我们处理a ...

  2. 【python】【转】python中isinstance判断变量类型用法

    来源 http://www.jb51.net/article/15696.htm 在Python中只需要使用内置的函数isinstance,使用起来非常简单,比如下面的例子: 复制代码 代码如下: c ...

  3. Sharepoint 问题集锦 - external list (外部列表)

    使用Sharepoint开发过程中遇到的问题总结. 错误1: Unable to display this Web Part. To troubleshoot the problem, open th ...

  4. RestKit:iOS开发必备,告别众多无聊代码

    http://www.csdn.net/article/2014-04-15/2819312-RestKit-frameworkRestKit是一款专为iOS设计的Objective-C框架,旨在与R ...

  5. struts2 拦截器1

    action invoke前会调用,invoke后会调用 public class FirstInterceptor extends AbstractInterceptor{ @Override pu ...

  6. jquery事件之event.target用法详解

    1. 定义和用法: 显示哪个 DOM 元素触发了事件: $("p, button, h1, h2").click(function(event){ $("div" ...

  7. matlab的cell数组

    matlab的cell数组 元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵.组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每 ...

  8. New Distinct Substrings

    spoj705:http://www.spoj.com/problems/SUBST1/ 题意:和spoj694一样,只是数据范围变大了. 题解:同spoj694. #include<iostr ...

  9. http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html

    http://www.cnblogs.com/xwdreamer/archive/2012/02/21/2360818.html

  10. Keil C51调试程序时, 对ROM的查看以及RAM 查看或修改

    在Keil 里使用 DeBug 模式时,如要 查看外部 RAM 的数据 或查看 ACC 的内容可以进行以下操作; sysGetTxMode: LCALL Com0185(C:2B95) ,sysGet ...