hdu2089 不要62 数位DP
来源:互联网 发布:淘宝李宁乒乓球运动服 编辑:程序博客网 时间:2024/04/30 10:42
入门题,看到YMW开始撸数位DP时我也来凑个热闹= =
然而不管什么数据都差了1= =然后看到了教程中这么清爽的代码= =
我决定来规范一下数位DP的代码风格
一般来说数位DP怎么写都不容易T
但是有时候出题人用心良苦出到10的100w次方的时候【比如GDKOI,感觉还是很虚的
突然想起来决定来吐槽一下HDU,居然有人把BPM136这个账号注册了= =,好吧只好改成BPMThor
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>#define LL long long#define fo(i,a,b) for(int i=a;i<=b;i++)#define down(i,a,b) for(int i=a;i>=b;i--)using namespace std;inline LL read(){LL d=0,f=1;char s=getchar();while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}while(s>='0'&&s<='9'){d=d*10+s-'0';s=getchar();}return d*f;}#define N 1000000int f[10][3]={0};int n,m;int A[10],len;int dfs(int k,bool six,bool sy){if(k==0)return 1;if(!sy&&f[k][six]!=-1)return f[k][six];int ret=0,tt=sy?A[k]:9;fo(i,0,tt){if(i==4||six&&i==2)continue;ret+=dfs(k-1,i==6,sy&&i==tt);}if(!sy)f[k][six]=ret;return ret;}int find(int a){memset(A,0,sizeof(A));len=0;while(a){A[++len]=a%10;a/=10;}int ans=dfs(len,0,1);return ans;}int main(){memset(f,-1,sizeof(f));int l,r;while(scanf("%d%d",&l,&r)!=EOF&&(l+r)){int ans=find(r)-find(l-1);printf("%d\n",ans);}return 0;}
0 0
- 【数位DP】 hdu2089 不要62
- 【数位DP】不要62 HDU2089
- HDU2089:不要62(数位DP)
- hdu2089 不要62 数位dp
- hdu2089 不要62 (数位DP)
- HDU2089 不要62 数位DP
- Hdu2089 - 不要62 - 数位dp
- hdu2089 不要62 数位dp
- 【数位DP】【HDU2089】不要62
- [HDU2089] 不要62 && 数位DP
- hdu2089 不要62 数位dp
- HDU2089 不要62 (数位DP)
- HDU2089 不要62 数位DP
- HDU2089 不要62【数位DP】
- hdu2089不要62【数位dp】
- hdu2089 不要62 数位DP
- hdu2089 不要62(数位DP)
- hdu2089 不要62(数位dp)
- Android 内存优化大全(中)
- hw14+16
- 在Image切换时利用CrossFadeImage来产生动画特效
- pickerView使用心得,有不对的大家指正
- POJ 2676 Sudoku (DFS回溯剪枝)
- hdu2089 不要62 数位DP
- 【bzoj4071】[Apio2015]巴邻旁之桥 三分套三分
- 软工大作业·源物语(三)
- zhiliti
- 报错:The resource name must start with a letter
- 八皇后问题 回溯
- Arrayfire学习笔记(一)安装
- VC DAO 操作数据库
- Android4.2.2源码目录结构分析