Floor Sum 问题推导
Floor Sum 问题推导
第一类基本问题
Formula 1
\[A=A_1M+A_2
\]
\[f(N,M,A,B)=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B}{M}\rfloor\\
=\sum_{i=0}^{N-1}\lfloor\frac{(A_1M+A_2)i+B}{M}\rfloor\\
=\sum_{i=0}^{N-1}\lfloor\ A_1i+\frac{A_2i+B}{M}\rfloor\\
=\frac{N(N-1)}{2}A_1+\sum_{i=0}^{N-1}\lfloor\ \frac{A_2i+B}{M}\rfloor\\
=\frac{N(N-1)}{2}A_1+f(N,M,A_2,B)
\]
Formula 2
\[B=B_1M+B_2
\]
\[f(N,M,A,B)=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B}{M}\rfloor\\
=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B_1M+B_2}{M}\rfloor\\
=\sum_{i=0}^{N-1}\lfloor B_1 +\frac{Ai+B_2}{M}\rfloor\\
=NB_1+\sum_{i=0}^{N-1}\lfloor\ \frac{Ai+B_2}{M}\rfloor\\
=NB_1+f(N,M,A,B_2)
\]
Formula 3
\[K=\lfloor \frac{A(N-1)+B}{M}\rfloor
\]
\[\lfloor \frac{Ai+B}{M} \rfloor=k
\Leftrightarrow \lceil \frac{kM-B}{A}\rceil\leq i<\lceil\frac{(k+1)M-B}{A}\rceil\]
\[c_k=\lceil\frac{kM-B}{A}\rceil,c_{K+1}=N\]
\[f(N,M,A,B)=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B}{M}\\
=\sum_{k=0}^{K}k(c_{k+1}-c_k)\\
=KN-\sum_{k=1}^{K}c_k\\
=KN-\sum_{k=0}^{K-1}\lfloor \frac{kM+M-B+A-1}{A}\rfloor\\
=KN-f(K,A,M,M-B+A-1)
\]
Formula 4
\[f(N,M,0,B)=N\lfloor\frac{B}{M}\rfloor
\]
Computation
辗转相除计算,边界情况 \(A=0\)。
第二类基本问题
\[f_{p,q}(N,M,A,B)=\sum_{i=0}^{N-1}i^p\lfloor\frac{Ai+B}{M}\rfloor^q
\]
这里只列出 \(p=1,q=1\),\(p=0,q=2\) 的情况。
p=1,q=1
\[f_{1,1}(N,M,A,B)=\sum_{i=0}^{N-1}i\lfloor\frac{Ai+B}{M}\rfloor\\
S_1(x)=\sum_{i=0}^{x-1}i=\frac{x(x-1)}{2}\\
K=\lfloor\frac{A(N-1)+B}{M}\rfloor\\
c_i 同上\\
f_{1,1}(N,M,A,B)=\sum_{i=0}^{N-1}i\lfloor\frac{Ai+B}{M}\rfloor\\
=\sum_{k=0}^K k(S_1(c_{i+1})-S_1(c_i))\\
=KS_1(c_{K+1})-\sum_{k=1}^{K}S_1(c_k)\\
=K\frac{N(N-1)}{2}+\frac{1}{2}\sum_{k=0}^{K-1}
\lfloor \frac{kM+M-B+A-1}{A}\rfloor
-\frac{1}{2}\sum_{k=0}^{K-1}
\lfloor \frac{kM+M-B+A-1}{A}\rfloor^2\\
=K\frac{N(N-1)}{2}+\frac{1}{2}f_{0,1}(K,A,M,M-B+A-1)-\frac{1}{2}f_{0,2}(K,A,M,M-B+A-1)
\]
p=0,q=2
\[f_{0,2}(N,M,A,B)=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B}{M}\rfloor^2\\
c_i 同上\\
f_{0,2}(N,M,A,B)=\sum_{i=0}^{N-1}\lfloor\frac{Ai+B}{M}\rfloor^2\\
=\sum_{k=0}^K k^2(c_{k+1}-c_k)\\
=K^2c_{K+1}-\sum_{k=1}^{K}(k^2-(k-1)^2c_k)\\
=K^2c_{K+1}-\sum_{k=1}^{K}(2k-1)c_k)\\
=K^2c_{K+1}-\sum_{k=0}^{K-1}(2k+1)c_k)\\
=K^2N-2\sum_{k=0}^{K-1}k
\lfloor \frac{kM+M-B+A-1}{A}\rfloor
+\sum_{k=0}^{K-1}
\lfloor \frac{kM+M-B+A-1}{A}\rfloor\\
=K^2N-2f_{1,1}(K,A,M,M-B+A-1)-f_{0,1}(K,A,M,M-B+A-1)
\]
Table
\[f_{0,0}(N,M,A,B)=KN-f(K,A,M,M-B+A-1)\]
\[f_{1,1}(N,M,A,B)=K\frac{N(N-1)}{2}+\frac{1}{2}f_{0,1}(K,A,M,M-B+A-1)-\frac{1}{2}f_{0,2}(K,A,M,M-B+A-1)
\]
\[f_{0,2}(N,M,A,B)
=K^2N-2f_{1,1}(K,A,M,M-B+A-1)-f_{0,1}(K,A,M,M-B+A-1)
\]
参考
https://judge.yosupo.jp/problem/min_of_mod_of_linear

浙公网安备 33010602011771号