05 2013 档案
摘要:题意:输入n和k,表示一个n位的k进制数,这个数字要符合两个条件,没有前导0(否则怎么算是n位数呢?),不能有两个或以上连续的0,问你一共有多少个这样的n位的k进制数思路:n位可以 由 n - 1 位 推出 所以 是 dp 因为不能有两个或以上的连续的0 ,所以就分为 ,最后一位 为0 和 不为0 的情况 dp[i][0] 表示前 i位 k 进制 数 最后一位 位0 的个数, dp[i][1] 表示最后一位不为0 的个数 状态转移方程: dp[i][0] = dp[i][1] ; dp[i][1] = (k - 1)*(dp[i][0] + dp[i][1]) ; 初始化时 dp[1][0]
阅读全文