
数位dp初级
readlnh
这个作者很懒,什么都没留下…
展开
-
ccf 有趣的数(数位dp)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。 请计算恰好有n位的有趣的数的个数。由于答案原创 2016-04-04 19:41:49 · 2371 阅读 · 1 评论 -
hdu 2089 不要62(简单数位dp)
题意: 给定一个区间,求区间内除了所有含有4或62的数字的总数 思路: 刚学数位dp,发现这道题,以前居然用暴力过了,完全没想到是dp(瀑布汗...)然后事实上,感觉这题用朴素暴力会更快。。。唔。。。感觉数位dp好多都能强行暴力。。。 好,回到正题:参照刚刚所说的基本思路。预处理f数组,然后统计[0,m] - [0,n)。f[i,j]代表开头是j的i位数中不含"62"或"4"的原创 2016-03-31 08:59:29 · 438 阅读 · 0 评论 -
hdu 3555 Bomb(数位dp初学)
题意: 给定一个n,求0到n范围内不含49的数的个数 思路: 这题是最基础的数位dp,可类比hdu2089 不要62,事实上,这题比不要62更简单一些。。。 首先,还是预处理打表,用一个二维数组来保存状态,dp[i][j],表示i位的满足状态j的数的个数,j有三种状态,0:不含49的,1:不含49的,但是首位是9的数,2:含有49的数。(当然0状态包含1状态) for(int i原创 2016-04-11 20:58:39 · 473 阅读 · 0 评论