博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3555 数位DP
阅读量:4354 次
发布时间:2019-06-07

本文共 978 字,大约阅读时间需要 3 分钟。

找0~n 有多少个含有49的数直接DP

dp[i][j][k]  到第 i位  前面一位是j  k是是否含有49了  随便记录一下就可以了

 

#include 
#include
#include
using namespace std ;#define ll long longint dig[20];ll dp[20][10][2];ll dfs(int len,int now,int ok,int e){ if(len<0) return (ok==1); if(!e&&dp[len][now][ok]!=-1) return dp[len][now][ok]; int u=e?dig[len]:9; ll ans=0; for(int i=0;i<=u;i++) { if(now==4&&i==9) ans=ans+dfs(len-1,i,1,e&&(i==u)); else ans=ans+dfs(len-1,i,ok,e&&(i==u)); } if(!e) dp[len][now][ok]=ans; return ans;}ll calc(ll n){ int cnt=0; while(n) { dig[cnt++]=n%10; n=n/10; } return dfs(cnt-1,0,0,1);}int main(){ memset(dp,-1,sizeof(dp)); int t; scanf("%d",&t); while(t--) { ll n; scanf("%lld",&n); printf("%lld\n",calc(n)); } return 0;}
View Code

 

转载于:https://www.cnblogs.com/cherryMJY/p/6861492.html

你可能感兴趣的文章
ESE Toolkit:使用Windows的内部高性能数据库构建应用程序
查看>>
为Windows 8开发业务应用程序
查看>>
<authentication> 元素
查看>>
PHP面向对象之标识对象
查看>>
JS正则表达式大全(整理详细且实用)
查看>>
锁框架:条件
查看>>
下一步工作分配
查看>>
ZZNU 正约数之和
查看>>
一种新的高速报文解析结构研究
查看>>
Beta冲刺第六天
查看>>
Qt使用AES加密算法对字符串进行加密
查看>>
单例模式
查看>>
设计模式的故事---观察者模式
查看>>
ranch实现游戏服务器
查看>>
Delphi 画箭头
查看>>
C#学习——Clone浅学:浅拷贝
查看>>
WEB DYNPRO SAP HELP
查看>>
MYSQL 查询指定日期后的15天
查看>>
js实现农历时间代码
查看>>
ACM比赛(进制转换)
查看>>