ACdream 1064 完美数(数位dp)
来源:互联网 发布:mysql主键与索引 编辑:程序博客网 时间:2024/05/20 03:05
题目链接:
点击我打开题目
题意:在
题解:数位dp。
设:
代码:
/** this code is made by LzyRapx* Problem: 1064* Verdict: Accepted* Submission Date: 2017-06-07 09:35:40* Time: 188MS* Memory: 1664KB*/#include <bits/stdc++.h>using namespace std;typedef long long ll;//dp[i][0]表示既没有3也没有8的,//dp[i][1]表示有3但是没有8的,//dp[i][2]表示有8但是没有3的int dp[11][4];int digit[11];int check(int s,int dig){ if(dig==3)return s|1; if(dig==8)return s|2; return s;}int solve(int pos,int s,bool limit){ if(pos==-1)return s==1 || s==2; if(!limit && dp[pos][s] != -1) return dp[pos][s]; int res = 0; int ed = limit ? digit[pos]:9; for(int i=0;i<=ed;i++) { res += solve(pos-1,check(s,i),limit && i==ed); } if(!limit) dp[pos][s] = res; return res;}int cal(int x){ int cnt = 0; while(x) { digit[cnt++] = x%10; x/=10; } return solve(cnt-1,0,1);}int main(){ int t ; cin>>t; memset(dp,-1,sizeof(dp)); while(t--) { int l,r; cin>>l>>r; cout<<cal(r)-cal(l-1)<<endl; } return 0;}
阅读全文
1 0
- ACdream 1064 完美数(数位dp)
- acdream 1064 完美数 数位dp
- acdream 1064 完美数 (数位dp)
- ACdream 1064 完美数【数位DP】
- ACDream 1064——完美数(数位DP)
- acdream 数树专题--完美数(数位dp)
- ACdream群OJ-完美数-简单数位dp
- ACDream 1064 完美数
- ACdream 1064 完美数
- ACdream 1064 完美数
- ACdream 1064完美数
- XMUT ACdream DP专场E题 - 喵哈哈的日常选数问题(数位DP)
- ACdream 1154 Lowbit Sum (数位DP)
- ACdream 1154 Lowbit Sum(数位DP)
- ACdream 1154 Lowbit Sum (数位dp)
- 51nod1232 完美数 数位DP
- AcDream 1083: 完美数
- ACdream OJ 完美数
- 共享经济模式对户外广告行业的启发
- 使用Xshell&Xftp实现远程登录及文件传输
- Klein3000&绞车一次故障排除
- Git—学习与使用
- 如何计算时间复杂度
- ACdream 1064 完美数(数位dp)
- html table 个人简历demo
- top、padding-top、margin-top的区别(以及个人总结)---前端进阶(随笔)
- [vim] .viminfo和.vimrc
- IOS 中cocopos的问题
- 14.字符串排序
- 各种排序应用场合
- ASP.NET发送手机短信验证码
- 你所熟知的javascript?从基础原理开始认识JS语言