204A (数学题或者数位DP?)
2015-03-26 10:06
232 查看
求区间[l,r]内最高位数字与个位数字相等的数的个数。
数位DP?
其实只需求出不超过x的满足要求的数的个数sum(x),最后答案就是sum(r)-sum(l-1)
对于x,若小于10,则sum(x)=x.
若x不小于10,取x的最高位a,最低位b。
可以发现如果a<=b,则sum(x)=sum(9)+(x的最高位到十位所构成的数)
否则结果为上式再减1(因为a……a不能取)
数位DP?
其实只需求出不超过x的满足要求的数的个数sum(x),最后答案就是sum(r)-sum(l-1)
对于x,若小于10,则sum(x)=x.
若x不小于10,取x的最高位a,最低位b。
可以发现如果a<=b,则sum(x)=sum(9)+(x的最高位到十位所构成的数)
否则结果为上式再减1(因为a……a不能取)
#include<bits/stdc++.h> using namespace std; #define LL __int64 LL sum(LL x) { int a,b; LL ans=0; if(x<10) return x; a=x%10; ans=x/10+9; while(x>=10) x/=10; if(x>a) --ans; return ans; } int main() { LL l,r; cin>>l>>r; cout<<sum(r)-sum(l-1)<<endl; return 0; }
相关文章推荐
- BZOJ1833 [ZJOI2010]count 数字计数 【数学 Or 数位dp】
- GalaxyOJ-426 (数学题+倍增/数位dp)
- poj2282(组合数学,数位上的dp)
- Round Numbers((组合数 + 简单组合数学)||(数位dp))
- [hihocoder1259] A Math Problem (数学,数位dp)
- poj3286(组合数学,数位dp)
- 【数位DP+数学关系推导】吉哥系列故事——恨7不成妻 HDU - 4507
- NYOJ166 小珂的数学题(数位dp)
- 【上海交大oj】数学题3(数位dp)
- ACM学习历程—HDU5587 Array(数学 && 二分 && 记忆化 || 数位DP)(BestCoder Round #64 (div.2) 1003)
- codeforces 55D beautiful number [数学+数位DP]【动态规划+数论】
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
- POJ 3252 Round Numbers <数位dp(记忆化所搜)/组合数学>
- zznu 1255 数字统计(数位DP, 数学方法)
- 【数位dp && 数学技巧】HDU - 4507 吉哥系列故事――恨7不成妻
- codeforces 603A. Alternative Thinking(数学找规律 或者 dp)
- HDU 2089 不要62 (递推+暴力或者数位DP)
- POJ 3252 Round Numbers (组合数学/数位dp)
- 数位DP | 组合数学 —— POJ 3252
- HDU5519-数位DP或者FFT