DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Yet Another Prefix Sum Problem

返回题目

题解

设 Xi=A+iDX_i=A+iDXi​=A+iD。若 XiX_iXi​ 是 ppp 的倍数,则 XiXi≡0(modp)X_i^{X_i}\equiv0\pmod pXiXi​​≡0(modp。否则,根据费马小定理,可以将指数对 p−1p-1p−1 取模。

按照 i=r+tpi=r+tpi=r+tp 对下标分组,其中 0≤r<min⁡(N,p)0\le r<\min(N,p)0≤r<min(N,p)。第 rr 组的项数是

mr=⌊N−1−rp⌋+1m_r=\left\lfloor\frac{N-1-r}{p}\right\rfloor+1mr​=⌊pN−1−r​

XrX_rXr​ 可能超过有符号 646464 位整数范围,因此只需计算

br=(A mod p+(rD) mod p) mod p,er=(A mod (p−1)+(rD) mod (p−1)) mod (p−1).b_r=(A\bmod p+(rD)\bmod p)\bmod p, \qquad e_r=(A\bmod(p-1)+(rD)\bmod(p-1))\bmod(p-1).b

若 br=0b_r=0br​=0,该组所有项均为 000。否则,定义

Cr=brer mod p,Rr=brD mod (p−1) mod pC_r=b_r^{e_r}\bmod p,\qquad R_r=b_r^{D\bmod(p-1)}\bmod pCr​=b

于是下标为 i=r+tpi=r+tpi=r+tp 的项满足

(A+iD)A+iD≡CrRrt(modp)(A+iD)^{A+iD}\equiv C_rR_r^t\pmod p(A+iD)A+iD≡Cr​

注意首项是 brerb_r^{e_r}brer​​,一般不等于 brbrb_r^{b_r}br:底数对 同余并不意味着指数对 同余。

若 Rr=1R_r=1Rr​=1,组内之和为 CrmrC_rm_rCr​mr;否则为

CrRrmr−1Rr−1(modp)C_r\frac{R_r^{m_r}-1}{R_r-1}\pmod pCr​Rr​−1

除法通过模逆元完成。由于 br≠0b_r\ne0br​=0,所以 Rr≠0R_r\ne0Rr​,幂指数可以对 取模。可以在线性时间内预处理从 到 的逆元。

将各组结果相加。分组数量不超过 min⁡(N,p)\min(N,p)min(N,p),每组计算模幂需要 O(log⁡p)O(\log p)O(logp) 时间,总时间复杂度为 O(p+min⁡(N,p)log⁡p)O(p+\min(N,p)\log p)O(p+min(N,空间复杂度为 。在乘法前先对操作数取模,即可保证所有中间值处于有符号 位整数范围内。

Solution written by GPT6

)
r
⌋
+
1
r​
=
(Amod
p+
(rD)mod
p)mod
p,er​=
(Amod
(p−
1)+
(rD)mod
(p−
1))mod
(p−
1).
r
er​
​
mod
p,Rr​=
brDmod(p−1)​mod
p
Rrt​
(modp)
br​
​
ppp
p−1p-1p−1
​
Rrmr​​−1
​
(modp)
=
0
p−1p-1p−1
111
p−1p-1p−1
,
p
)
log
p
)
O(p)O(p)O(p)
646464