HDU 2089 不要62 数位DP
来源:互联网 发布:日本签证年薪十万知乎 编辑:程序博客网 时间:2024/06/08 01:09
题意:给出一个区间,求区间内满足不包含4和不含连续的62的数的个数。
dp[pos][state]表示当前第pos位,前一位是否是6的状态,这里state只需0和1两种状态就可以了,不是6的情况可视为同种,不会影响计数。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int a[20];int dp[20][2];int dfs(int pos,int pre,int state,bool limit){if(pos==0) return 1;if(!limit&&dp[pos][state]!=-1) return dp[pos][state];int res=0;int up=limit?a[pos]:9;for(int i=0;i<=up;i++){if(pre==6&&i==2) continue;if(i==4) continue;res+=dfs(pos-1,i,i==6,limit&&i==a[pos]);}if(!limit) dp[pos][state]=res;return res;}int solve(int x){int pos=0;while(x){a[++pos]=x%10;x/=10;}return dfs(pos,-1,0,true);}int main(){int l,r;while(scanf("%d%d",&l,&r)){memset(dp,-1,sizeof dp);if(l==0&&r==0) break;printf("%d\n",solve(r)-solve(l-1));}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入门
- 《逆向工程核心原理》<02-13> PE文件格式 部分笔记
- 图像处理学习笔记之直方图的计算与绘制
- lightpj 1248
- git submodule的使用
- linux 对一个目录及其子目录所有文件添加权限
- HDU 2089 不要62 数位DP
- stm32 中空编码器tim4初始化
- extract-text-webpack-plugin 的使用及安装
- Android UI 相关开源框架
- 使用InternetCrackUrl分解url
- c++实验五
- 安卓智能地图开发与实施五:在线基础底图
- C语言中volatile关键字的作用
- Android Notification