hdu_4734_F(x)(数位DP水)
2016-05-30 22:32
447 查看
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4734
题意:给你一个F(x)的定义,然后给你a,b,问你在0到b包括b有多少个数满足F(x)<=F(a)
题解:dp[i][j]为dp到第i位的和为j的方案
#include<cstdio> #include<cstring> #define F(i,a,b) for(int i=a;i<=b;i++) int t,a,b,fa,dp[11][200001],ct,dig[11],len; int dfs(int pos,int sum,bool inf){ if(!pos)return 1; if(!inf&&dp[pos][sum]!=-1)return dp[pos][sum]; int end=inf?dig[pos]:9,ans=0,tp; F(i,0,end){ tp=sum-i*(1<<(pos-1)); if(tp>0)ans+=dfs(pos-1,tp,inf&&(i==end)); } if(!inf)dp[pos][sum]=ans; return ans; } int main(){ scanf("%d",&t); memset(dp,-1,sizeof(dp)); F(ic,1,t){ printf("Case #%d: ",ic); scanf("%d%d",&a,&b); for(fa=ct=0;a;a/=10,ct++)fa+=a%10*(1<<ct); for(len=0;b;b/=10)dig[++len]=b%10; printf("%d\n",dfs(len,fa+1,1)); } return 0; }View Code
相关文章推荐
- 机器人学 —— 轨迹规划(Artificial Potential)
- 2016-5-30模拟测试
- JAVA实现程序多语言(程序国际化)
- 1094. The Largest Generation (25)
- 设计模式之外观模式(结构型)
- 【cocos2dx 3.3 lua】04 纸牌翻转效果--类似QQ斗地主癞子效果
- Easy-题目58:7. Reverse Integer
- javascript基础语法——词法结构
- echo 和 print
- 分类评测标准
- Leetcode 28. Implement strStr() KMP算法解题
- leetcode #62 in cpp
- 动态规划1012
- 俄罗斯方块
- 引入css少引入了rel="stylesheet" 这行代码。导致整个页面空白、
- 解读OpenGL棋盘纹理贴图
- Thinking in C++摘要 第一卷第
- Android 6.0 动态权限申请
- echart 柱状图 实现动态加载
- nodeJs 初学案例摘要