bzoj1833
http://www.lydsy.com/JudgeOnline/problem.php?id=1833
2.5个小时就花在这上面了。。。
水到200题了。。。然并卵,天天做水题有什么前途。。。
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- ll A, B;
- ll dp[][][], a[], ret[], ans[], bin[];
- void solve(ll n, int f)
- {
- int len = ; ll t = n; memset(a, , sizeof(a)); memset(ret, , sizeof(ret));
- while(n) a[++len] = n % , n /= ;
- for(int i = ; i < len; ++i)
- for(int j = ; j <= ; ++j)
- for(int k = ; k <= ; ++k) ret[k] += dp[i][j][k];
- // for(int i = 1; i < a[len]; ++i)
- // for(int j = 0; j <= 9; ++j) ret[j] += dp[len][i][j];
- for(int i = len; i; --i)
- {
- for(int j = ; j < a[i]; ++j)
- {
- if(!j && i == len) continue;
- for(int k = ; k <= ; ++k) ret[k] += dp[i][j][k];
- }
- ret[a[i]] += t % bin[i] + ;
- }
- for(int i = ; i <= ; ++i) ans[i] += f * ret[i];
- }
- int main()
- {
- // freopen("countzj.in", "r", stdin);
- // freopen("countzj.out", "w", stdout);
- bin[] = 1ll; for(int i = ; i <= ; ++i) bin[i] = bin[i - ] * 10ll;
- for(int i = ; i <= ; ++i) dp[][i][i] = ;
- for(int i = ; i <= ; ++i)
- for(int j = ; j <= ; ++j)
- for(int k = ; k <= ; ++k)
- for(int l = ; l <= ; ++l) dp[i][j][l] += dp[i - ][k][l] + (ll)(j == l) * bin[i - ];
- scanf("%lld%lld", &A, &B);
- solve(B, ); solve(A - , -);
- for(int i = ; i <= ; ++i) printf("%lld ", ans[i]);
- printf("%lld\n", ans[]);
- // fclose(stdin); fclose(stdout);
- return ;
- }
bzoj1833的更多相关文章
- [BZOJ1833][ZJOI2010]count 数字计数
[BZOJ1833][ZJOI2010]count 数字计数 试题描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 输入 输入文件中仅包含一行两个整数a ...
- 数位DP入门:(bzoj1833+3209)
//我是来看文章创建时间的= = 膜拜了一下蔡大神.... 人生第一道自己写的数位DP...好吧以前是看题解然后也不知道为什么就过了的>_< 虽然说现在还是只会裸题= = 数位DP介绍: ...
- bzoj1833: [ZJOI2010]count 数字计数 数位dp
bzoj1833 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. O ...
- 【bzoj1833】 ZJOI2010—count 数字计数
http://www.lydsy.com/JudgeOnline/problem.php?id=1833 (题目链接) 题意 求在${[a,b]}$范围内整数中,每个数码出现的次数. Solution ...
- BZOJ1833 ZJOI2010 count 数字计数 【数位DP】
BZOJ1833 ZJOI2010 count 数字计数 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包 ...
- bzoj1833: [ZJOI2010]count 数字计数 && codevs1359 数字计数
bzoj1833 codevs1359 这道题也是道数位dp 因为0有前导0这一说卡了很久 最后发现用所有位数减1~9的位数就okay.....orzczl大爷 其他就跟51nod那道统计1出现次数一 ...
- [BZOJ1833][ZJOI2010]Count数字计数(DP)
数位DP学傻了,怎么写最后都写不下去了. 这题严格上来说应该不属于数位DP?只是普通DP加上一些统计上的判断吧. 首先复杂度只与数的位数$\omega$有关,所以怎么挥霍都不会超. f[i][j][k ...
- LG2602/BZOJ1833 「ZJOI2010」数字计数 数位DP
问题描述 LG2602 BZOJ1833 题解 数位\(\mathrm{DP}\)板子题. 注意限制位数.前导零. \([a,b]=[1,b]-[1,a-1]\) \(\mathrm{Code}\) ...
- 【BZOJ-1833】count数字计数 数位DP
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 2494 Solved: 1101[Submit][ ...
- bzoj1833 digit
这道题其实挺水,只是写的时候需要想清楚.我的方法是: 1.将[a,b]转化为[0,b+1)-[0,a) 2.预处理出非0的v在区间[0,10^p)出现次数以及0在区间[0,10^p)出现数 3.将一个 ...
随机推荐
- 牛客多校Round 4
Soved:3 rank:133 A.Ternay String 欧拉降幂一下 但是反复求phi会超时 但mod是同一个就可以记忆化一下 #include <bits/stdc++.h> ...
- 后台中的sql注入
aa.getSqlMap().put("order"," and a.id not in(\'"+po.getId()+"\')"); \' ...
- 我的MYSQL学习心得链接
http://www.cnblogs.com/lyhabc/p/3793524.html
- Springboot2.0中jpa默认创建的mysql表为myisam引擎问题
使用Springboot2.0后,使用jpa操作mysql数据库时,默认创建的表的引擎是myisam,myisam是不能加外键的,找了一些资源,最终可以用此方法解决! yml格式: spring: j ...
- slf4j-api、slf4j-log4j12、log4j的关系
在网上找到一篇关于这三个jar包的关系的博客,讲的很好,所以就转载了: https://blog.csdn.net/tengdazhang770960436/article/details/18006 ...
- kata练习题
This time no story, no theory. The examples below show you how to write function accum: Examples: ac ...
- CodeForcesGym 100753K Upside down primes
Upside down primes Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForc ...
- HDU 1573 解同余模线性方程组
题目意思很直接就是一道裸的解线性同余模方程组的题目 #include <cstdio> #include <cstring> using namespace std; #def ...
- HDU 4923 (贪心+证明)
Room and Moor Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of which is ...
- UVAL - 6755 - Swyper Keyboard
先上题目: https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦. 题意:定义一种操作:给出一个字符串,然后手指就按照给 ...