hdu-4734-F(x)--数位dp

原创 2013年12月03日 00:48:59


参考:http://www.cnblogs.com/kuangbin/p/3321997.html

题:http://acm.hdu.edu.cn/showproblem.php?pid=4734

#include<stdio.h>
#include<string.h>

int p[20][10000];
int bit[20];

int dfs(int pos,int num,int flag)
{
	if(pos==-1) return num>=0;
	if(num<0) return 0;
	if(flag==0&&p[pos][num]!=-1) return p[pos][num];
	int end=flag?bit[pos]:9;
	int i,j,k,ans=0;
	for(i=0;i<=end;i++)
		ans+=dfs(pos-1,num-i*(1<<pos),flag&&i==end);
	if(flag==0) p[pos][num]=ans;
	return ans;
}
int main()
{
	int i,j,k;
	int t,n;
	scanf("%d",&t);
	char ch[11];
	memset(p,-1,sizeof(p));
	for(k=1;k<=t;k++)
	{
		scanf("%s %d",ch,&n);
		int len=strlen(ch);
		int ans=0;
		for(i=0;i<len;i++)
			ans+=(ch[i]-'0')*(1<<(len-i-1));
		j=0;
		while(n){
			bit[j++]=n%10;
			n/=10;
		}
		printf("Case #%d: %d\n",k,dfs(j-1,ans,1));
	}
}


【数位DP】BZOJ3780数字统计

Time Limit: 10 Sec Memory Limit: 128 MB Description 小A正在研究一些数字统计问题。有一天他突然看到了一个这样的问题: 将[L..R][L.....
  • cqbztsy
  • cqbztsy
  • 2016年02月26日 12:20
  • 661

数位dp入门详解

基础篇 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位...
  • CillyB
  • CillyB
  • 2017年02月19日 23:07
  • 1771

【数位dp】(涉及到处理前导0问题)

数位dp记忆化搜索中,深搜计算dp值必先经过0-0-0 这条递归途径, 如果前导0对答案不影响那么无所谓,但是影响答案那么需要记录处理。 问题来源比较奇特,我理解错了SPOJ - BALNUM的题意...
  • qq_33199236
  • qq_33199236
  • 2017年05月24日 19:52
  • 302

数位dp总结 之 从入门到模板

for(int i=le;i
  • wust_zzwh
  • wust_zzwh
  • 2016年08月03日 14:37
  • 16304

数位DP学习小结

一、学习心得体会 问题描述: 一般体现为,定义某种性质K,问某区间内具有K性质的数的个数 往往给的区间会很大,对区间内的每个数进行判断显然会超时 于是数位DP登场 数位DP,顾名思义,是对数字的每一位...
  • tomorrowtodie
  • tomorrowtodie
  • 2016年08月06日 21:03
  • 1374

HDU2089 不要62(数位DP入门经典题目)

昨天做了一道很奇怪的数字题,不知道怎么做,今天才知道是数位DP ……我来学习学习。 传送门 大意:给定区间[n,m][n,m],求在n到m中没有“62“或“4“的数的个数。如62315包含62,8...
  • geng4512
  • geng4512
  • 2015年08月24日 20:48
  • 1175

[jzoj]3735. 【Usaco2014Open银组】里程计(odometer) (经典数位DP+详细分析)

https://jzoj.net/senior/#main/show/3735Problem:求[x..y][x..y]中的有趣数.有趣数的定义如下:若一个数字至少有一半以上的数位上拥有相同的数字,则...
  • Algor_pro_king_John
  • Algor_pro_king_John
  • 2017年07月30日 21:25
  • 263

【数位DP——题集及提示】

4207 -- 【模拟试题】不要62    最简单数位DP 不解释 4600 -- 【模拟试题】迷信的黄学长   挺坑!注意有正反向两种连续,传递序列里是否有2,4这两个参数,另外还要传...
  • qq_30303087
  • qq_30303087
  • 2016年04月28日 22:26
  • 458

【BZOJ1833】【ZJOI2010】数字计数 数位DP

然而并没有DP。 题解: [1,R]的答案减去[1,L]的答案。 对于一个数 X ,求 [1,X] 的答案,我是先处理出 [1,999……9] 的答案(那个999……9 然后按位往下扫,计算最...
  • Vmurder
  • Vmurder
  • 2015年06月10日 17:54
  • 873

poj3252 数位dp(所有比n小的二进制位0的个数不少于1的个数)记忆化搜索

http://poj.org/problem?id=3252 Description The cows, as you know, have no fingers or thumbs an...
  • u013573047
  • u013573047
  • 2015年02月21日 08:46
  • 880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu-4734-F(x)--数位dp
举报原因:
原因补充:

(最多只允许输入30个字)