acdream 1064 完美数 (数位dp)
来源:互联网 发布:淘宝助理没有宝贝管理 编辑:程序博客网 时间:2024/05/20 05:03
题意:
求出区间中要么含3要么含8的数的个数。
题解:
直接搞设dp[pos][ha][hb][num],num=0表示含3,num=1表示含8,ha表示是否包含num,hb则相反。
#include<iostream>#include<math.h>#include<stdio.h>#include<algorithm>#include<string.h>#include<vector>#include<queue>#include<map>#include<set>#define B(x) (1<<(x))using namespace std;typedef long long ll;typedef unsigned long long ull;void cmax(int& a,int b){ if(b>a)a=b; }void cmin(int& a,int b){ if(b<a)a=b; }void cmax(ll& a,ll b){ if(b>a)a=b; }void cmin(ll& a,ll b){ if(b<a)a=b; }void add(int& a,int b,int mod){ a=(a+b)%mod; }void add(ll& a,ll b,ll mod){ a=(a+b)%mod; }const int oo=0x3f3f3f3f;const ll OO=0x3f3f3f3f3f3f3f3f;const ll MOD=1000000007;const int maxn = 50000;int dp[30][2][2][2],bit[30];int num,a,b;int dfs(int pos,int ha,int hb,int f){ if(pos<0) return (ha&&!hb); if(!f&&dp[pos][ha][hb][num]!=-1) return dp[pos][ha][hb][num]; int last = f ? bit[pos] : 9; int res=0; for(int i=0;i<=last;i++){ res+=dfs(pos-1,ha||i==a,hb||i==b,f&&i==last); } if(!f) dp[pos][ha][hb][num]=res; return res;}int Count(int n){ int len=0; while(n){ bit[len++]=n%10; n/=10; } a=3;b=8;num=0; int ans1=dfs(len-1,0,0,1); a=8;b=3;num=1; int ans2=dfs(len-1,0,0,1); return ans1+ans2;}int main(){ //freopen("E:\\read.txt","r",stdin); int T,L,R; scanf("%d",&T); memset(dp,-1,sizeof dp); while(T--){ scanf("%d %d",&L,&R); printf("%d\n",Count(R)-Count(L-1)); } return 0;}
0 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完美数
- 51nod1232 完美数 数位DP
- AcDream 1083: 完美数
- ACdream OJ 完美数
- ACdream 完美数
- XMUT ACdream DP专场E题 - 喵哈哈的日常选数问题(数位DP)
- 51nod 1232 完美数 / codeforces 55D 数位DP
- ACdream群OJ 1122 数位DP
- 会场安排问题
- systemtap
- 程序存储问题
- HDU 2896 病毒侵袭
- 解决KindEditor图片上传对话框位置异常问题(浏览器放大缩小时对话框不见了)
- acdream 1064 完美数 (数位dp)
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- nginx location匹配规则
- POJ2503 Babelfish Tire树
- winform 中panel动态添加控件坐标原点问题
- 列表 环 判定 初始位置
- 3Sum
- iOS学习之 plist文件的读写
- 将输入的阿拉伯数字转换的汉字的大写输出