数位dp
Winchester_
这个作者很懒,什么都没留下…
展开
-
hdu 2089 不要62 数位dp
题目大意:给定一个区间[l,r],要求出在这个区间内的数字中不含62和4的数字个数。题目分析:数位dp模型。求出0..r和0..l-1的方案数。相减一下即可。考虑如何求方案数: 设dp[i][j]表示当前第i位状态为j的方案数,则dp[i][j]+=dp[i-1][k].预处理完之后进行统计方案数。#include#include#include#inc原创 2016-07-26 19:56:57 · 398 阅读 · 0 评论 -
hdu 3555 bomb 数位dp
题目大意:给定n个数x,求出1..x含有49的数的个数。题目大意:数位dp,思路和hdu2089差不多。求出1..x不含49的数的个数,相减即可。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#def原创 2016-07-27 10:39:53 · 603 阅读 · 0 评论 -
uestc 250 Windy数 数位dp
题目大意:给定一个区间[l,r],求在这个区间当中满足两位数之差>=2的数的个数。题目分析:相比hdu 2089 ,hdu 3555有些差别。对于前导0这类的处理有点迷..将最高位挑出来先进行处理剩下的统计同2089一题。#include#include#include#include#include#include#include#include#include原创 2016-07-27 17:16:40 · 549 阅读 · 0 评论 -
hdu 3652 B-number 数位dp
题目大意:求出0..n中含有13的13倍数的个数。题目分析:参照数位dp的思想。先预处理再计算。设f[i][j][k][l]表示第i位,数为j,k表示是否含有13,模13余数是l的数有几个。伪代码:决策第i位¨for x = 0 ~ 9¨ if k = 1 //要求要包含13¨ f[i,j,k,l] = f[i - 1,x,1,(l - j*10^(i-原创 2016-07-27 21:31:34 · 647 阅读 · 0 评论 -
hdu 3943 K-th Nya Number 数位dp
题目大意:给定区间[l,r]、x、y,求出在这个区间内含有x个4,y个7的第K大的数,否则输出Nya!题目分析:参照先统计在计数的思想。设dp[i][j][k]表示第i位有j个4,k个7的数字有几个。显然对于dp[i-1][j][k],可以转移到dp[i][j+1][k]和dp[i][j][k+1]。对于另外8个数(除4,7)有dp[i][j][k]=dp[i-1][j][k]*8.原创 2016-07-28 19:39:08 · 1289 阅读 · 0 评论