HDU 2089 不要62 (简单数位DP)
来源:互联网 发布:电脑版淘宝网登录 编辑:程序博客网 时间:2024/05/13 01:41
dp[i][0] 不存在
dp[i][1]不存在,上一位为6
dp[i][2] 存在
代码:
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;typedef __int64 LL;LL dp[20][3],l,r;LL bit[20],top;int get_news(int s,int d){ if(s == 0){ if(d == 4) return 2; if(d == 6) return 1; return 0; } if(s == 1){ if(d == 2 || d == 4) return 2; if(d == 6) return 1; return 0; } return 2;}LL dfs(int i,int s,bool e){ if(i == -1) return s == 2 ? 1 : 0; if(!e&&dp[i][s] != -1) return dp[i][s]; LL res = 0; int d,u = e ? bit[i] : 9; for(d = 0 ; d <= u ; d++){ res += dfs(i-1,get_news(s,d),e&&(d==u)); } return e?res:dp[i][s]=res;}LL solve(LL n){ top = 0; for(;n;n/=10) bit[top++] = n%10; return dfs(top-1,0,1);}int main(){ memset(dp,-1,sizeof(dp)); while(scanf("%I64d%I64d",&l,&r),l+r){ printf("%I64d\n",(r - l + 1)-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)
- 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
- sort
- 执行shell命令
- Linux系统防止黑客NMAP扫描的方法
- web.xml路径匹配原则
- hdu 1217 Arbitrage (Floyd)
- HDU 2089 不要62 (简单数位DP)
- Android官方技术文档翻译——ApplicationId 与 PackageName
- ubuntu 问题解决
- Spark学习体系整理(基础篇、中级篇、高级篇所涉及内容)
- libuv介绍
- Drools与Spring集成 登录测试
- 编写高质量代码改善C#程序的157个建议——导航开篇
- 拜佛
- 网页与浏览器高度相关参数$(document).heigth和$(window).heigt