DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord認証を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

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​

となる。最初の項は一般に brbrb_r^{b_r}brbr​​ ではなく brerb_r^{e_r}br である。底の に関する剰余が同じでも、指数の に関する剰余は一致しないためである。

グループの和は Rr=1R_r=1Rr​=1 なら CrmrC_rm_rCr​m、それ以外では

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)
er​
​
ppp
p−1p-1p−1
r
​
Rrmr​​−1
​
(modp)
=
0
p−1p-1p−1
111
p−1p-1p−1
,
p
)
log
p
)
O(p)O(p)O(p)
646464