浅谈类欧几里得算法

Task 1

\[\sum_{i =0}^n \lfloor\frac{ai+b}{c}\rfloor\]

\(f(a,b,c,n)=\sum_{i=0}^n \lfloor\frac{ai+b}{c}\rfloor\)

\(a\)\(b\) 大于 \(c\),我们有

\[\begin{aligned} f(a,b,c,n)&=\sum_{i=0}^n \lfloor\frac{ai+b}{c}\rfloor \\ &=\sum_{i=0}^n \lfloor\frac{(a\bmod c)i+c\lfloor\frac{a}{c}\rfloor i+(b\bmod c)+c\lfloor\frac{b}{c}\rfloor}{c}\rfloor \\ &=\frac{n(n+1)}{2}\lfloor\frac{a}{c}\rfloor+(n+1)\lfloor\frac{b}{c}\rfloor+f(a\bmod c,b\bmod c,c,n) \end{aligned} \]

转化为了 \(a,b\lt c\) 的情况。以下讨论这样的情况。

\[\begin{aligned} f(a,b,c,n)&=\sum_{i=0}^n \lfloor\frac{ai+b}{c}\rfloor \\ &=\sum_{i=0}^n \sum_{j=0}^{\lfloor\frac{ai+b}{c}\rfloor-1} 1 \\ &=\sum_{j=0}^{\lfloor\frac{a\textcolor{red}{n}+b}{c}\rfloor-1} \sum_{i=0}^{n} \left[j\leq \lfloor\frac{ai+b}{c}\rfloor-1\right] \\ &=\sum_{j=0}^{\lfloor\frac{a\textcolor{red}{n}+b}{c}\rfloor-1} \sum_{i=0}^{n} \left[j+1\leq \lfloor\frac{ai+b}{c}\rfloor\right] \end{aligned} \]

\[\begin{aligned} j+1&\leq \lfloor\frac{ai+b}{c}\rfloor \iff \\ j+1&\leq\frac{ai+b}{c} \iff \\ jc+c-b &\leq ai \iff \\ jc+c-b-1 &\lt ai \iff \\ \lfloor\frac{jc+c-b-1}{a}\rfloor&\lt i \end{aligned} \]

代回则得到

\[\begin{aligned} f(a,b,c,n)&=\sum_{i=0}^n \lfloor\frac{ai+b}{c}\rfloor \\ &=\sum_{j=0}^{\lfloor\frac{a\textcolor{red}{n}+b}{c}\rfloor-1} \sum_{i=0}^{n} \left[\lfloor\frac{jc+c-b-1}{a}\rfloor\lt i\right] \\ &=\sum_{j=0}^{\lfloor\frac{a\textcolor{red}{n}+b}{c}\rfloor-1} \left\{n-\lfloor\frac{jc+c-b-1}{a}\rfloor\right\} \\ \end{aligned} \]

\(m:= \lfloor\frac{an+b}{c}\rfloor\),则

\[\boxed{f(a,b,c,n)=nm-f(c,c-b-1,a,m-1)} \]

\(a,c\) 互换位置,可以证明时间复杂度是 \(\log\) 级的。

Task 2:\(\sum_{i=0}^n i\lfloor \frac{ai+b}{c}\rfloor\)

\(g(a,b,c,n)=\sum_{i=0}^n i\lfloor\frac{ai+b}{c}\rfloor\),则不难得到

\[g(a,b,c,n)=\frac{n(n+1)(2n+1)}{6}\lfloor\frac{a}{c}\rfloor+\frac{n(n+1)}{2}\lfloor\frac{b}{c}\rfloor + \\ g(a\bmod c, b\bmod c,c,n) \]

推式子。

\[\begin{aligned} g(a,b,c,n)&=\sum_{i=0}^n i\lfloor\frac{ai+b}{c}\rfloor\\ &=\sum_{i=0}^n i\sum_{j=0}^{\lfloor\frac{ai+b}{c}\rfloor-1} 1\\ &=\sum_{j=0}^{\lfloor\frac{an+b}{c}\rfloor-1} \sum_{i=0}^{n} i\left[ j+1\leq\lfloor\frac{ai+b}{c}\rfloor \right] \\ &=\sum_{j=0}^{\lfloor\frac{an+b}{c}\rfloor-1} \sum_{i=0}^{n} i\left[ j+1\leq\lfloor\frac{ai+b}{c}\rfloor \right] \\ &=\sum_{j=0}^{\lfloor\frac{an+b}{c}\rfloor-1}\sum_{i=\lfloor\frac{jc+c-b-1}{a}\rfloor+1}^{n}i \end{aligned} \]

\(m=\lfloor\frac{an+b}{c}\rfloor\)\(t=\lfloor\frac{jc+c-b-1}{a}\rfloor\),得到

\[\begin{aligned} g(a,b,c,n)&=\sum_{j=0}^{m-1} \frac{(n+t+1)(n-t)}{2} \\ &=\frac{1}{2}\left\{\sum_{j=0}^{m-1} (n^2-t^2+n-t)\right\} \\ &\boxed{=\frac{1}{2}\left\{m(n^2+n)- h(c,c-b-1,a,m-1)- f(c,c-b-1,a,m-1) \right\}} \\ \end{aligned} \]

Task 3:\(\sum_{i=0}^n \lfloor \frac{ai+b}{c}\rfloor^2\)

\(h(a,b,c,n)=\sum_{i=0}^n \lfloor \frac{ai+b}{c}\rfloor^2\)

\[\begin{aligned} h(a,b,c,n)&=\sum_{i=0}^{n}\left\{\lfloor\frac{(a\bmod c)i+b\bmod c}{c}\rfloor +i\lfloor\frac{a}{c}\rfloor+\lfloor\frac{b}{c}\rfloor \right\}^2\\ &=h(a\bmod c,b\bmod c,c,n)+\\ &\frac{n(n+1)(2n+1)}{6}\lfloor\frac{a}{c}\rfloor^2 +(n+1)\lfloor\frac{b}{c}\rfloor^2+\\ &2\lfloor\frac{a}{c}\rfloor\cdot g(a\bmod c,b\bmod c,c,n) + \\ &2\lfloor\frac{b}{c}\rfloor\cdot f(a\bmod c,b\bmod c,c,n) + \\ & n(n+1)\lfloor\frac{a}{c}\rfloor\lfloor\frac{b}{c}\rfloor \end{aligned} \]

考虑当 \(a,b\lt c\) 时的情况,注意到平方不好处理,于是我们有 \(n^2=2\frac{n(n+1)}{2}-n\)

\[\begin{aligned} h(a,b,c,n)&=\sum_{i=0}^n \lfloor \frac{ai+b}{c}\rfloor^2 \\ &=\sum_{i=0}^{n} \left\{2\sum_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor} j-\lfloor\frac{ai+b}{c}\rfloor\right\}\\ &=2\sum_{i=0}^{n}\sum_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}j-f(a,b,c,n) \end{aligned} \]

考虑化简前一部分。

\[\begin{aligned} \sum_{i=0}^{n}\sum_{j=1}^{\lfloor\frac{ai+b}{c}\rfloor}j&= \sum_{i=0}^{n}\sum_{j=0}^{\lfloor\frac{ai+b}{c}\rfloor-1}(j+1)\\ &=\sum_{j=0}^{m-1}(j+1)\sum_{i=0}^{n}\left[j+1\leq \lfloor\frac{ai+b}{c}\rfloor\right] \\ &=\sum_{j=0}^{m-1} (j+1)(n-t) \\ &=\sum_{j=0}^{m-1}(j+1)\cdot n-\sum_{j=0}^{m-1}(j+1)\lfloor\frac{jc+c-b-1}{a}\rfloor \\ &=n\frac{m(m+1)}{2}-f(c,c-b-1,a,m-1)-g(c,c-b-1,a,m-1) \end{aligned} \]

别忘了代回去。

不难得到

\[\boxed{h(a,b,c,n)=nm(m+1)-2f(c,c-b-1,a,m-1)-2g(c,c-b-1,a,m-1)-f(a,b,c,n)} \]

posted @ 2024-02-21 14:25  Starrykiller  阅读(28)  评论(0)    收藏  举报