Address
Solution
根据 Lucas 定理,当 k k k 是质数时:
( n m ) ≡ ∏ i ( n i m i ) (   m o d   k ) \binom nm\equiv\prod_{i}\binom{n_i}{m_i}(\bmod k) (mn)≡i∏(mini)(modk)
其中 n i n_i ni 和 m i m_i mi 分别表示 n n n 和 m m m 在 k k k 进制意义下第 i i i 位的值。
所以问题转化成有多少对 0 ≤ i ≤ n 0\le i\le n 0≤i≤n , 0 ≤ j ≤ min ( i , m ) 0\le j\le\min(i,m) 0≤j≤min(i,m) 满足 k k k 进制意义下存在一位 x x x 满足 i x < j x i_x<j_x ix<jx 。
相当于用 ( n + 1 ) × ( n + 2 ) 2 − max ( 0 , n − m ) × ( max ( 0 , n − m ) + 1 ) 2 \frac{(n+1)\times(n+2)}2-\frac{\max(0,n-m)\times(\max(0,n-m)+1)}2 2(n+1)×(n+2