先特判一下 $ k = 1$ 的情况, 然后将每个颜色第一次出现的位置严格从小到大计数, 最后答案乘 (n!) 即可。
之后考虑 DP, 我们假设已经求解已经出现了 (i - 1) 种颜色的排列的数量, 我们要用这来推出 (i) 种颜色的排列的数量, 那么我们考虑将原本 (i - 1) 种颜色的排列所有非 0 元素 +1, 然后把 (0dots1111) 插进原排列种, 于是就避免了第 (i) 种颜色和第 (i - 1) 种颜色出现的位置的讨论, 之后我们发现这数量与之前的排列中前面 0 的数量有关, 于是考虑多设一个状态记前面 0 的数量, 很容易就得到以下方程。
记 (dp_{i,j}) 表示出现 (i) 种颜色, 左边至少有 (j) 个 0 的排列的数量, 则
[dp_{i,j}=dp_{i,j + 1} + dp_{i - 1, j - 1} imes{inom{i imes k - (j + 1)}{k - 2}}
]
按此方程递推即可。答案为 (dp_{n,1} imes n!)。