DNA 双链长度区间计数 — 补充解法¶
Codex(GPT-6)补充解法:闭式等比求和。 主解法已证明固定长度计数和前缀公式,只需更换 \(s=G(h)\) 的求法。
当 \(q\not\equiv1\pmod P\) 时,
\[
G(h)=q(q^h-1)(q-1)^{-1}\pmod P
\]
用快速幂求 \(q^h\) 和 \((q-1)^{P-2}\) .同一询问的两个前缀共用逆元,再代入主解法的 \(H(n)\) 公式。若 \(q\equiv1\pmod P\) ,则每一项均为一,直接取 \(G(h)=h\bmod P\) ,不计算零的逆元。
等比级数恒等式与素数模逆元证明一般分支正确,逐项等于一证明特殊分支正确,前缀相减得到最终答案。注意先对 \(2K\) 取模;合法输入 \(K=500000004\) 确实会产生特殊分支。
每次询问时间 \(O(\log(R+1)+\log P)\) ,空间 \(O(1)\) ;模数在本题固定。块合并避免求逆元,这份程序则使用较少的状态变量,两者都通过完整数据。