|
我们先考虑暴力,暴力枚举每一个$i,j$暴力算$\binom{i}{j}$时间复杂度为$O(T*N^3)$,显然超时
然后我们发现$N,M \le2000$我们考虑使用组合数的递推公式预处理$\binom{0}{0}$到$\bin 该题解待审........................................................................(剩余 717 个中英字符)
题目2559 [NOIP 2016]组合数问题
AAAAAAAAAAAAAAAAAAAA
2025-09-29 22:01:12
|
|
我们先考虑暴力,暴力枚举每一个$i,j$暴力算$\binom{i}{j}$时间复杂度为$O(T*N^3)$,显然超时 然后我们发现$N,M \le2000$我们考虑使用组合数的递推公式预处理$\binom{0}{0}$到$\binom{2000}{2000}$。 这里说一下组合数递推公式$\binom{i}{j}=\binom{i-1}{j-1}+\binom{i-1}{j}$\可以从组合意义上来理解 我们从$i$个数中选$j$个数,对于每一个数可以分为选与不选两种情况,选的时候即$\binom{i-1}{j-1}$,在剩下的$i-1$个数里选$j-1$个数,不选的时候即$\binom{i-1}{j}$,在剩下的$i-1$个数里选出$j$个数. 但是这样复杂度为$O(T*N^2+N^2)$,依旧无法通过,事实上我们需要一种不需要枚举$i,j$的方法才能通过。
我们发现对于多个询问,$k$始终为定值,于是考虑前缀和优化,设$ans_{i,j}$,在预处理时,若$k|\binom{i}{j}$,则将$an 该题解待审........................................................................(剩余 2672 个中英字符)
题目2559 [NOIP 2016]组合数问题
AAAAAAAAAAAAAAAAAAAA
2025-09-29 21:59:57
|