求∑n
i=11
imodpk
。p≤10
5 pk
⋅n≤10
18
首先,給出一條性質a⇔
ac≡b
(modp)
≡bc(
modpc)
具體證明非常簡單,只要考慮到aa
c=kp
+b=k
(pc)
+(bc
) 那用處就是
amodp=
bacmodpc
=bc=
(amodp)c
那這道題我們借鑑計算階乘時的思想,提取出
p 整除的數。so
lve(
n,k)
=∑i=
1n1i
modpk=
⎛⎝⎜⎜
1p∑i
=1⌊n
p⌋1i
+∑0<
a+bp≤
n1a+
bp⎞⎠
⎟⎟modp
k然後我們分開考慮這兩部分,先考慮第一部分,利用上性質(1)(2),可以得到1p
∑i=1
⌊np⌋
1imodpk=
1p∑i
=1⌊n
p⌋1i
modpk=
(∑1i
pmodpk
)⋅pp
=(p(
∑1ip
modpk)
)⋅1p
=(∑1
imodpk
+1)⋅
1p=s
olve
(⌊np
⌋,k+
1)⋅1
p 遞迴求解即可,現在考慮第二部分∑0
<
a+bp≤
n1a+
bp=∑
a=1p
−1∑b
=0⌊n
−ap⌋
1a+b
p=∑a
=1p−
1∑b=
0⌊n−
ap⌋1
1+bp
a⋅1a
=∑a=
1p−1
1a∑b
=0⌊n
−ap⌋
11−(
−bpa
)=∑a
=1p−
11a∑
b=0⌊
n−ap
⌋∑i=
0∞(−
bpa)
i=∑a
=1p−
11a∑
b=0⌊
n−ap
⌋∑i=
0∞(−
pa)i
⋅bi=
∑a=1
p−11
a∑i=
0k−1
(−pa
)i∑b
=0⌊n
−ap⌋
bi這裡就是自然數冪求和,用[2
k×2k
] 的矩陣,
一次求出所有
i 的si
。時間複雜度:t(
n,k)
=t(n
p,k+
1)+k
3+kp
=(k3
+kp)
logn
p 。
GDKOI2016 小學生數學題
給定n,k,p 求 ni 1 1i modpk 若答案不存在則輸出 1n pk 10 18 p 105 p 為質數這道題的確是道不錯的數學題。設f n,k ni 1 1i modpk 那麼我們將1,2,n 分為兩類 1.p 的倍數,設為集合 s2.其他,設為集合t 那麼很顯然,集合 t中的數都與pk...
小學生數學題
psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫20 35 estimate 估計這個任務需要多少時間22 development 開發120 240 analysis 需求分析 包括學習新技術 6090 desi...
小學數學題
小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...