codeforces 204A Little Elephant and Interval (数位dp)
2015-02-01 19:03
477 查看
题意:
给出一个范围[L,R] 要求这个范围内满足第一位和最后一位相等的数的个数。
题解:
数位dp搞定,状态dp[pos][num]表示位数pos,第一位为num时满足条件个数。
这里有一个处理头的技巧,就是通过前导零来判断第一位,不然会误判,一开始就误判了没出结果,改下1a。
给出一个范围[L,R] 要求这个范围内满足第一位和最后一位相等的数的个数。
题解:
数位dp搞定,状态dp[pos][num]表示位数pos,第一位为num时满足条件个数。
这里有一个处理头的技巧,就是通过前导零来判断第一位,不然会误判,一开始就误判了没出结果,改下1a。
#include<iostream> #include<math.h> #include<stdio.h> #include<algorithm> #include<string.h> #include<vector> #include<map> using namespace std; typedef __int64 lld; const int oo=0x3f3f3f3f; const lld OO=1e18; const int Mod=1e8; const int maxn=3000+5; lld dp[20][11]; int bit[20],len; lld dfs(int pos,int s,int e,int f,int pre0) { if(pos<1) return s==e; if(!f&&dp[pos][s]!=-1) return dp[pos][s]; int last=f?bit[pos]:9; lld res=0; for(int i=0;i<=last;i++) { int a=s,b=e; if(pre0==0&i!=0) a=i; if(pos==1) b=i; res+=dfs(pos-1,a,b,f&&i==last,pre0||i); } if(!f) dp[pos][s]=res; return res; } lld Count(lld n) { if(n==0) return 1; len=0; while(n) { bit[++len]=n%10; n/=10; } return dfs(len,0,-1,1,0); } int main() { lld l,r; memset(dp,-1,sizeof dp); while(scanf("%I64d %I64d",&l,&r)!=EOF) { //printf("%I64d %I64d\n",Count(r),Count(l-1)); printf("%I64d\n",Count(r)-Count(l-1)); } return 0; } /** */
相关文章推荐
- Codeforces-55D Beautiful numbers (数位DP)
- codeforces 55D 数位dp
- CodeForces 55D Beautiful numbers(数位dp)
- CodeForces 55D. Beautiful numbers (思维+数位DP)
- 【数位DP】 【CodeForces 55D】
- Codeforces 834E The Bakery【枚举+数位dp】
- codeforces 628D 数位dp
- codeforces 628D Magic Numbers (数位dp)
- Codeforces 55D Beautiful numbers 数位dp
- Codeforces 914C (数位dp)
- CodeForces-55D - Beautiful numbers - 数位DP
- Codeforces Good bye 2015 B. New Year and Old Property dfs 数位DP
- codeforces 55D - Beautiful numbers 数位DP+DFS
- Codeforces 855E Salazar Slytherin's Locket(数位dp)
- [数位DP AC自动机] Codeforces 434C Round #248 (Div. 1) C. Tachibana Kanade's Tofu
- codeforces 55D. Beautiful numbers (数位dp)
- codeforces 55d A.Beautiful numbers 数位DP -
- CodeForces 54C-First Digit Law(数位,概率dp)
- codeforces 401D (数位DP)
- CodeForces 258B Little Elephant and Elections 数位DP