ural1009 K-based Numbers (递推)
设f[i][0]表示取了i个数最前面的数为0的合法数的数量,f[i][1]表示取了i个数最前面的数不为0的合法数的数量
则
f[i][0] = f[i - 1][1]
f[i][1] = (k - 1) * (f[i - 1][0] + f[i - 1][1])
边界条件
f[1][0] = 1
f[1][1] = k - 1
(代码中习惯性地使用dp作为数组名,不用在意)
#
原创
2017-02-23 20:54:09 ·
254 阅读 ·
0 评论