一个环,有n个点(编号0到n-1),从0点出发,经过k步恰好回到原点0,有多少种不同的走法?请给出算法和复杂度分析。
考察说明
考察动态规划或组合数学建模能力,以及边界条件处理
回答思路
- 能正确建立状态转移方程,用dp[i][j]表示第i步到达点j的方案数
- 处理环的相邻关系(j-1和j+1取模)和边界条件
- 能说明初始状态dp[0][0]=1,其他为0
- 能给出时间复杂度和空间复杂度,并讨论优化(如滚动数组)
- 能讨论n或k较大时的解法(如矩阵快速幂)
- 能正确回答当k=0时只有1种方法(原地不动)
考察动态规划或组合数学建模能力,以及边界条件处理