HDU 3555 Bomb (简单数位DP)
来源:互联网 发布:服装销售网络渠道 编辑:程序博客网 时间:2024/05/18 02:54
同上,dp[i][0] 不存在,dp[i][1] 不存在,且上一位为4,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 1; return 0; } if(s == 1){ if(d == 9) return 2; if(d == 4) 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(){ int cas; scanf("%d",&cas); memset(dp,-1,sizeof(dp)); while(cas--){ scanf("%I64d",&r); printf("%I64d\n",solve(r)); } return 0;}
0 0
- HDU 3555 Bomb 简单数位DP
- HDU 3555 Bomb (简单数位DP)
- HDU 3555 Bomb (数位DP)
- hdu 3555 - Bomb [数位dp]
- hdu 3555 Bomb【数位DP】
- HDU 3555 Bomb (数位DP)
- hdu 3555 Bomb 数位DP
- HDU 3555 Bomb (数位DP)
- hdu 3555 Bomb 数位dp
- [HDU 3555]Bomb[数位DP]
- HDU 3555 Bomb 数位DP
- hdu 3555 Bomb 数位dp
- HDU --3555--Bomb--数位DP
- hdu 3555 Bomb (数位DP)
- 【数位DP】【HDU 3555】Bomb
- hdu 3555 Bomb(数位DP)
- HDU 3555 Bomb(数位dp)
- 数位dp HDU 3555 Bomb
- Andorid消息处理机制
- Spark中文手册-编程指南
- 使用 Drools 规则引擎实现业务逻辑
- 【图论】【桥】【HDU4612】Warm up
- ASP.NET 5 将于2016年一季度发布
- HDU 3555 Bomb (简单数位DP)
- AFNetworking下载网络相关的附件(音视频)等到本地app包中做离线来提高用户体验
- 采用首次适应算法的动态分区分配模拟
- 我还没死!!微信公众号——自媒体的营销之路
- 浅谈微信卡券功能开发(3)
- 只能用初始化列表而不能使用赋值的情况一般有以下3种
- storm源码之一个class解决nimbus单点问题
- DbUtils的使用(个人理解,有不同的可以指出)
- 如何用Green定理求五星形曲线所围面积的"精确解"