先选出恰好 mmm 个不动点,再让其余 k=n−mk=n-mk=n−m 个位置形成错排。因此答案为
若 m>nm>nm>n,答案为 000。错排数满足 D(0)=1,D(1)=0D(0)=1,D(1)=0D(0)=1,D(1)=0,以及
读入全部询问并取得最大 nnn,预处理阶乘、逆阶乘和错排数。每组用阶乘与逆阶乘 O(1)O(1)O(1) 求组合数。小规模可枚举排列或使用子集放置 DP,中档可逐询问线性计算。
预处理和回答总时间复杂度 O(maxn+T)O(\max n+T)O(maxn+T),空间复杂度 O(maxn+T)O(\max n+T)O(maxn+T)。模乘使用 64 位整数。
注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Hydro 通用账户