hdu 2089 不要62
2016-08-06 11:07
295 查看
题意:求区间内不包含4和连续62的数的个数
分析:从高位向低位枚举,4的话,直接不枚举就行了,62用一个标志来记录上一个数是否是6,还要加一个表示上面是否达到上限,没有就可以枚举到9,否则枚举到liimt[len]
入门题,这个模型以后会经常用到
View Code
分析:从高位向低位枚举,4的话,直接不枚举就行了,62用一个标志来记录上一个数是否是6,还要加一个表示上面是否达到上限,没有就可以枚举到9,否则枚举到liimt[len]
入门题,这个模型以后会经常用到
#include<bits/stdc++.h> using namespace std; typedef long long ll; int dp[8][2],d[8]; int dfs(int len,int state,int f){ if(!len)return 1; int& tmp=dp[len][state]; if(!f&&tmp!=-1); int maxn=!f?9:d[len-1]; int ret=0; for(int i=0;i<=maxn;i++){ if(i==4||i==2&&state)continue; ret+=dfs(len-1,i==6,f&&i==maxn); } if(!f)tmp=ret; return ret; } int solve(int x){ memset(dp,-1,sizeof(dp)); int len=0; while(x>0){ d[len++]=x%10; x/=10; } return dfs(len,0,1); } int main(){ int x,y; while(cin>>x>>y&&x+y) cout<<solve(y)-solve(x-1)<<endl; return 0; }
View Code
相关文章推荐
- hdu 2089 不要62(数位)
- hdu 2089 不要62 - 数位dp
- HDU 2089 不要62(数位DP入门)
- HDU - 2089 不要62 (暴力求解)
- HDU 2089 不要62(数位DP)
- 不要62 - HDU 2089 数位dp
- 【数位DP】Hdu 2089:不要62
- HDU 2089 不要62
- HDU 2089 (不要62)数位DP入门
- hdu 2089 不要62(数位dp)
- hdu 2089 不要62(简单数位dp)
- Hdu 2089 不要62
- HDU 2089 不要62
- hdu 2089 不要62
- HDU 2089 —— 不要62
- HDU 2089 不要62 (数位DP)
- Hdu 2089 不要62 (暴力/数位dp)
- HDU 2089 不要62
- HDU 2089 不要62【数位板】
- hdu 2089 不要62和4