bzoj1833数字计数
找$[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数字计数的更多相关文章
- bzoj1833 数字计数
Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. Output 输出文 ...
- [BZOJ1833][ZJOI2010]count 数字计数
[BZOJ1833][ZJOI2010]count 数字计数 试题描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 输入 输入文件中仅包含一行两个整数a ...
- BZOJ1833 ZJOI2010 count 数字计数 【数位DP】
BZOJ1833 ZJOI2010 count 数字计数 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包 ...
- 【BZOJ-1833】count数字计数 数位DP
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 2494 Solved: 1101[Submit][ ...
- bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
1833: [ZJOI2010]count 数字计数 题目:传送门 题解: 今天是躲不开各种恶心DP了??? %爆靖大佬啊!!! 据说是数位DP裸题...emmm学吧学吧 感觉记忆化搜索特别强: 定义 ...
- BZOJ_1833_[ZJOI2010]_数字计数_(数位dp)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1833 统计\(a~b\)中数字\(0,1,2,...,9\)分别出现了多少次. 分析 数位dp ...
- BZOJ 1833: [ZJOI2010]count 数字计数( dp )
dp(i, j, k)表示共i位, 最高位是j, 数字k出现次数. 预处理出来. 差分答案, 对于0~x的答案, 从低位到高位进行讨论 -------------------------------- ...
- 1833: [ZJOI2010]count 数字计数
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 2951 Solved: 1307[Submit][ ...
- BZOJ_1833_[ZJOI2010]count 数字计数_数位DP
BZOJ_1833_[ZJOI2010]count 数字计数_数位DP 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 分析: 数位DP f[i][ ...
随机推荐
- CG中的类型
[Matrix] 通常像下面这样定义Matrix: int1x1 iMatrix; // integer matrix with 1 row, 1 column int4x1 iMatrix; // ...
- 112. Path Sum (Tree; DFS)
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
- Intellij IDEA 安装插件 报 ‘plugin xxxx is incompatible‘ 解决方案
网上下载安装LOMBOK失败,直接下载插件安装: 在离线安装IDEA插件的时候,可能会出现该问题.引起的原因主要就是版本号不一致. 下面介绍下离线安装找到合适的版本号. 1.在IDEA的help-&g ...
- 快速搭建Wordpress
1. 下载:ZentaoPMS作为Mysql Apach Php的基础环境: 2. 下载:Wordpress安装包: 3. 将Wordpress解压,放置于ZentaoPMS的Xampp的htdocs ...
- LA4794 分享巧克力
Sharing Chocolate Chocolate in its many forms is enjoyed by millions of people around the world ever ...
- js 获取ur参数 只要问号后面的那段传进url
//获取url中的参数 function getUrlParam (pName, win) { var sUrl; if (typeof (win) == 'string') { sUrl = win ...
- LWIP网络接口管理
LAN8720+RJ45+MAC(STM32F4自带的)构成了网络接口层.
- mysql:查询数据库版本的几种方式
Mysql版本: 登入数据库的时候: select @@version; select version(); mysql> select @@version; +-----------+ | @ ...
- DeepLearning 学习资料
1 sotfmax 函数: stanford UFLDL: http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD ...
- R Markdown 速查表