一道短小精悍(指代码)的数学题.
- 把每个位置上的数都 $-1$ ,于是要求就变为每个位置的前缀和都是非负数.
- 如果在最后再加入一个 $-1$ ,那么就只有最后一个位置前缀和为 $-1$ ,其他位置都是非负数.
- 这样就可证明,对于一个序列的所有循环同构,有且仅有一种序列是合法的.
- 因为只有把多出来的 $-1$ 放在最后才合法.因为总和为 $-1$ ,若最后一个位置不是 $-1$ ,那么前面一个位置的前缀和一定为负.
- 而这个 $-1$ 可以是原有的与新加的共 $m-n+1$ 个 $-1$ 中的任意一个,所以应除去.
$$
ans=\frac {m!} {m-n+1}
$$
1 |
|