HDU 2089 不要62[数位dp]
来源:互联网 发布:js 动态时钟 编辑:程序博客网 时间:2024/06/09 23:23
数位dp简单题
dp[pos][state]表示pos位为6(state=1)或不为6(state=0)
#include<cstdio>#include<cstring>using namespace std;inline int read(){ int a=0,f=1;char c=getchar(); while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){a=a*10+c-'0';c=getchar();} return a*f;}int L,R;int a[10],dp[10][2];int dfs(int pos,int state,int pre){ if(pos==0) return 1; if(!pre&&dp[pos][state]!=-1) return dp[pos][state]; int up=pre?a[pos]:9,ans=0; for(int i=0;i<=up;++i) { if(i==4||(i==2&&state)) continue; if(i==6) ans+=dfs(pos-1,1,pre&&i==up); else ans+=dfs(pos-1,0,pre&&i==up); } if(!pre) dp[pos][state]=ans; return ans;}int solve(int x){ int n=x,pos=0; while(n) a[++pos]=n%10,n/=10; return dfs(pos,0,1);}int main(){ memset(dp,-1,sizeof(dp)); L=read(),R=read(); while(L||R) { printf("%d\n",solve(R)-solve(L-1)); L=read(),R=read(); } return 0;}
阅读全文
0 0
- hdu 2089 不要62 数位DP
- hdu 2089 不要62 数位dp
- hdu 2089 不要62 数位dp
- hdu 2089 不要62(数位dp入门)
- [HDU 2089]不要62[数位DP]
- hdu 2089 不要62(数位dp)
- Hdu 2089 不要62 (暴力/数位dp)
- hdu 2089 不要62 (数位DP)
- HDU 2089 不要62 数位dp入门
- hdu 2089(不要62)数位DP
- 【数位DP】【HDU 2089】不要62
- hdu 2089 不要62(数位DP)
- hdu 2089 不要62 --- 数位dp
- 数位DP小记 + HDU 2089 不要62
- HDU 2089 不要62(数位dp)
- 数位 dp HDU 2089 不要62
- HDU 2089 不要62(数位DP)
- hdu 2089 不要62--数位dp入门
- 【BZOJ】【JLOI2011】飞行路线
- excel读取
- tp多表查询
- luogu1554 梦中的统计
- 【POJ】2155 Matrix 树套树&&树状数组
- HDU 2089 不要62[数位dp]
- 【BZOJ1066】【SCOI2007】蜥蜴
- 021:第一章函数与极限大总结之partⅠ极限、partⅡ连续与间断
- 【codevs 1098】均分纸牌
- Codevs 1052 地鼠游戏
- bzoj 2037: [Sdoi2008]Sue的小球
- luogu2676 超级书架
- 开启代码版本管理功能
- Mapreduce基本工作流程