11.02B
Posted ullio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.02B相关的知识,希望对你有一定的参考价值。
题目描述
9 个机器人,在 3 * 3 的方格里,一开始 9 个机器人分别站在 9 个格子上,每一步机器人可
以往临近的一个格子移动或留在原地(同一个格子可以有多个机器人停留),经过 n 步后有
多少种不同的走法,使得每个格子上都有 1 机器人停留。由于方法数量巨大,输出 Mod
10^9 + 7 的结果。
输入输出格式
输入格式
第一行包含一个整数 n。
输出格式
输出一行输出走法的数量 Mod 10^9 + 7
数据范围
对于 40%的数据,1 <= n<= 10;
对于 70%的数据,1 <= n <= 10^6;
对于 100%的数据,1 <= n <= 10^18。
样例
样例一输入:
1
样例一输出:
299
思路
1.40%数据
暴力
期望复杂度 $ Theta left( 玄学
ight) $
2.70%数据
考虑dp
dp[i][j][k] 表示走了i步,起点在j终点在k的方案数
dfs枚举全排列
期望复杂度 $ Theta left( 81n
ight) $
3.100%数据
考虑优化dp转移
很明显一个点朝其他点转移的状态量小且固定
利用矩阵快速幂优化掉n
期望复杂度 $ Theta left( 9^{3} log n
ight) $
以上是关于11.02B的主要内容,如果未能解决你的问题,请参考以下文章