HDU3943 K-th Nya Number 数位DP
来源:互联网 发布:字符型二维数组初始化 编辑:程序博客网 时间:2024/05/17 03:52
记录自己的刷题状态...题目是求在[p,q]这个区间内,符合有x个4,y个7这个状态的第k个数字是多少...也就是符合条件的第k小,求完之后用上二分法确定第k小...就是先求出0-p内有多少个符合的,在求出0-mid有多少符合的,如果差刚好是k那么就是它了- -。
#include<stdio.h>#include<string.h>#include<stdlib.h>__int64 dp[21][21][21];int num[21];__int64 dfs(int site,int a,int b,int x,int y,int f){if(site==0){if(a==x&&b==y)return 1;return 0;}if(!f&&dp[site][a][b]!=-1)return dp[site][a][b];__int64 ans=0;int len=f?num[site]:9;for(int i=0;i<=len;i++){if(i==4)ans+=dfs(site-1,a+1,b,x,y,f&&i==len);else if(i==7)ans+=dfs(site-1,a,b+1,x,y,f&&i==len);elseans+=dfs(site-1,a,b,x,y,f&&i==len);}if(!f)dp[site][a][b]=ans;return ans;}__int64 solve(__int64 a,int x,int y){int i=0;while(a){num[++i]=a%10;a=a/10;}return dfs(i,0,0,x,y,1);}int main(){int T;scanf("%d",&T);memset(dp,-1,sizeof(dp));for(int cas=1;cas<=T;cas++){__int64 p,q,s;int x,y,n;scanf("%I64d %I64d %d %d",&p,&q,&x,&y);scanf("%d",&n);printf("Case #%d:\n",cas);while(n--){__int64 k;scanf("%I64d",&k);s=solve(p,x,y);s+=k;__int64 l,r,ans=-1;l=p+1;r=q;while(l<=r){__int64 mid=(l+r)/2;if(solve(mid,x,y)>=s){ans=mid;r=mid-1;}elsel=mid+1;}if(ans==-1)printf("Nya!\n");elseprintf("%I64d\n",ans);}}return 0;}
0 0
- HDU3943 K-th Nya Number 数位DP
- HDU3943 K-th Nya Number(数位DP)
- 【数位DP】HDU3943[K-th Nya Number]题解
- HDU3943.K-th Nya Number
- 【HDU3943】【K-th Nya Number】【数位+二分找位置】
- 数位DP+二分搜索——HDU3943 K-th Nya Number
- HDU 3943 K-th Nya Number (数位DP)
- [数位dp] hdu 3943 K-th Nya Number
- 【HDU】3943 K-th Nya Number 数位DP
- 【数位DP】【hdu 3943】K-th Nya Number
- HDU 3943 K-th Nya Number(数位DP + 构造)
- HDU 3943 K-th Nya Number(数位dp+二分)
- HDU 3943 K-th Nya Number [数位DP]
- hdu 3943 K-th Nya Number 数位dp
- K-th Nya Number (数位dp+二分)
- HDU 3943 —— K-th Nya Number(数位DP,二分答案)
- hdu 3943 K-th Nya Number 2011多校11 数位dp
- HDOJ3943 K-th Nya Number
- 可以让图标随心所遇的变色
- C#视频总结
- MySQL修改密码方法总结
- jsp环境搭建
- 无线AP,无线中继器与无线路由
- HDU3943 K-th Nya Number 数位DP
- R语言代码调试
- 黑马程序员_JAVA_面向对象(二)
- jquery-ui的使用
- 图结构练习——判断给定图是否存在合法拓扑序列(拓扑排序判断环)
- Python 第一章 基础知识(1) 安装Python
- Js中的多条件排序,多列排序
- C# FTP下载二进制文件
- poj 1222 EXTENDED LIGHTS OUT(高斯消元)