跳转至

某不科学的单调序列的首项加权和: 补充解法

共用乘积:出题人解法

令 \(P=m(m+1)\cdots(m+n-1)\) .主解中的两个组合数可以共用 \(P\) 与分母 \((n+1)!\) ,得到

\[ \mathrm{Answer}=P\,((n+1)!)^{-1}\bigl(k(n+m)+c(n+1)\bigr)\pmod p \]

alternative.cpp 逐项计算 \(P\) 与阶乘,再做一次快速幂。正确性直接由 \(A=P/n!\) 与 \(B=P(n+m)/(n+1)!\) 得到。\(m=0\) 时 \(P\) 含零因子,自动输出零;\((n+1)!\) 的全部正因子小于 \(p\) ,即使分子跨过模数也可安全计算。

时间 \(O(n+\log p)\) ,空间 \(O(1)\) .值域大时只计算一份乘积,减少重复工作;值域小时,首选的对称乘积法所需因子更少。两者均通过完整数据。这是出题人已有公式与计算策略,Codex(GPT-6)完成可移植实现和边界证明。