类欧几里得算法
推导过程
\[ \begin{align} f(a,b,c,n)&=\sum_{i=0}^n\lfloor\dfrac{a*i+b}{c}\rfloor\\ &=\sum_{i=0}^n\left\lfloor\frac{\left(\lfloor\frac{a}{c}\rfloor*c+a\ mod\ c\right)*i+\left(\lfloor\frac{b}{c}\rfloor*c+b\ mod\ c\right)}{c}\right\rfloor\\ &=\sum_{i=0}^n\left\lfloor\lfloor\frac{a}{c}\rfloor*i+\frac{\left(a\ mod\ c\right)*i}{c}+\lfloor\frac{b}{c}\rfloor+\frac{\left(b\ mod\ c\right)}{c}\right\rfloor\\ &=\frac{n*(n+1)}{2}*\lfloor\frac{a}{c}\rfloor+(n+1)*\lfloor{\frac{b}{c}}\rfloor+\sum_{i=0}^n\left\lfloor\frac{(a\ mod\ c)*i+(b\ mod\ c)}{c}\right\rfloor\\ &=\frac{n*(n+1)}{2}*\lfloor\frac{a}{c}\rfloor+(n+1)*\lfloor{\frac{b}{c}}\rfloor+f(a\ mod\ c,b\ mod\ c,c,n) \end{align} \]
\[ \begin{align} f(a,b,c,n)&=\sum_{i=0}^n\lfloor\dfrac{a*i+b}{c}\rfloor\\ &=\sum_{i=0}^n\sum_{j=0}^{\lfloor\frac{a*i+b}{c}\rfloor-1}1\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\sum_{i=0}^n\left[j<\lfloor\frac{a*i+b}{c}\rfloor\right] \end{align} \]
\[ \begin{align} j<\lfloor\frac{a*i+b}{c}\rfloor\Longleftrightarrow{j}+1\leq\frac{a*i+b}{c}\Longleftrightarrow{j}*c+c\le{a}*i+b\Longleftrightarrow\left\lfloor\frac{j*c+c-b-1}{a}\right\rfloor<i \end{align} \]
\[ \begin{align} f(a,b,c,b)&=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\sum_{i=0}^n\left[\left\lfloor\frac{j*c+c-b-1}{a}\right\rfloor<i\right]\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\left(n-\left\lfloor\frac{j*c+c-b-1}{a}\right\rfloor\right)\\ &=n*\lfloor\frac{a*n+b}{c}\rfloor-f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1) \end{align} \]
\[ \begin{align} g(a,b,c,n)&=\sum_{i=0}^ni*\lfloor\frac{a*i+b}{c}\rfloor\\ &=\frac{n*(n+1)*(2n+1)}{6}*\lfloor\frac{a}{c}\rfloor+\frac{n*(n+1)}{2}*\lfloor\frac{b}{c}\rfloor+g(a\ mod\ c,b\ mod\ c,c,n) \end{align} \]
\[ \begin{align} g(a,b,c,n)&=\sum_{i=0}^ni*\lfloor\dfrac{a*i+b}{c}\rfloor\\ &=\sum_{i=0}^n\sum_{j=0}^{\lfloor\frac{a*i+b}{c}\rfloor-1}i\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\sum_{i=0}^ni*\left[j<\lfloor\frac{a*i+b}{c}\rfloor\right]\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\sum_{i=0}^ni*\left[\lfloor\frac{j*c+c-b-1}{a}\rfloor<i\right]\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\frac{(\lfloor\frac{j*c+c-b-1}{a}\rfloor+1+n)*(n-\lfloor\frac{j*c+c-b-1}{a}\rfloor)}{2}\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}\left(\frac{n^2+n-\lfloor\frac{j*c+c-b-1}{a}\rfloor-(\lfloor\frac{j*c+c-b-1}{a}\rfloor)^2}{2}\right)\\ &=\frac{1}{2}*n*(n+1)*\lfloor\frac{a*n+b}{c}\rfloor-\frac{1}{2}*h(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ &-\frac{1}{2}*f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1) \end{align} \]
\[ \begin{align} h(a,b,c,n)&=\sum_{i=0}^n\left\lfloor\frac{a*i+b}{c}\right\rfloor^2\\ &=(n+1)*\lfloor\frac{b}{c}\rfloor^2+n*(n+1)*\lfloor\frac{a}{c}\rfloor*\lfloor\frac{b}{c}\rfloor+\frac{n*(n+1)*(2n+1)}{6}*\lfloor\frac{a}{c}\rfloor^2\\ &+2*\lfloor\frac{b}{c}\rfloor*f(a\ mod\ c,b\ mod\ c,c,n) +2*\lfloor\frac{a}{c}\rfloor*g(a\ mod\ c,b\ mod\ c,c,n) \end{align} \]
\[ \begin{align} n^2&=2*\frac{n*(n+1)}{2}-n=2*(\sum_{i=0}^ni)-n\\ h(a,b,c,n)&=\sum_{i=0}^n\left\lfloor\frac{a*i+b}{c}\right\rfloor^2\\ &=\sum_{i=0}^n\left[2*(\sum_{j=1}^{\lfloor\frac{a*i+b}{c}\rfloor}j)-\lfloor\frac{a*i+b}{c}\rfloor\right]\\ &=2*(\sum_{i=0}^n\sum_{j=1}^{\lfloor\frac{a*i+b}{c}\rfloor}j)-f(a,b,c,n)\\ \sum_{i=0}^n\sum_{j=1}^{\lfloor\frac{a*i+b}{c}\rfloor}j&=\sum_{i=0}^n\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}j+1\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}(j+1)\sum_{i=0}^n\left[j<\lfloor\frac{a*i+b}{c}\rfloor\right]\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}(j+1)\sum_{i=0}^n[\lfloor\frac{j*c+c-b-1}{a}\rfloor<i]\\ &=\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}(j+1)*(n-\lfloor\frac{j*c+c-b-1}{a}\rfloor)\\ &=\frac{1}{2}*n*\lfloor\frac{a*n+b}{c}\rfloor*(\lfloor\frac{a*n+b}{c}\rfloor+1)-\sum_{j=0}^{\lfloor\frac{a*n+b}{c}\rfloor-1}(j+1)*\left\lfloor\frac{j*c+c-b-1}{a}\right\rfloor\\ &=\frac{1}{2}*n*\lfloor\frac{a*n+b}{c}\rfloor*(\lfloor\frac{a*n+b}{c}\rfloor+1)-g(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ &-f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ h(a,b,c,n)&=n*\lfloor\frac{a*n+b}{c}\rfloor*(\lfloor\frac{a*n+b}{c}\rfloor+1)-2*g(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ &-2*f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)-f(a,b,c,n)\\ \end{align} \]
\[ f(a,b,c,n)= \begin{cases} \frac{n*(n+1)}{2}*\lfloor\frac{a}{c}\rfloor+(n+1)*\lfloor{\frac{b}{c}}\rfloor+f(a\ mod\ c,b\ mod\ c,c,n)&a\ge{c}\text{ 或 }b\ge{c}\\ n*\lfloor\frac{a*n+b}{c}\rfloor-f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)&a<c\text{ 且 }b<c\\ \end{cases} \]
\[ g(a,b,c,n)= \begin{cases} \frac{n*(n+1)*(2n+1)}{6}*\lfloor\frac{a}{c}\rfloor+\frac{n*(n+1)}{2}*\lfloor\frac{b}{c}\rfloor+g(a\ mod\ c,b\ mod\ c,c,n)&a\ge{c}\text{ 或 }b\ge{c}\\ \frac{1}{2}*n*(n+1)*\lfloor\frac{a*n+b}{c}\rfloor-\frac{1}{2}*h(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ \ -\frac{1}{2}*f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)&a<c\text{ 且 }b<c\\ \end{cases} \]
\[ h(a,b,c,n)= \begin{cases} (n+1)*\lfloor\frac{b}{c}\rfloor^2+n*(n+1)*\lfloor\frac{a}{c}\rfloor*\lfloor\frac{b}{c}\rfloor+\frac{n*(n+1)*(2n+1)}{6}*\lfloor\frac{a}{c}\rfloor^2\\ +2*\lfloor\frac{b}{c}\rfloor*f(a\ mod\ c,b\ mod\ c,c,n)+2*\lfloor\frac{a}{c}\rfloor*g(a\ mod\ c,b\ mod\ c,c,n)&a\ge{c}\text{ 或 }b\ge{c}\\ n*\lfloor\frac{a*n+b}{c}\rfloor*(\lfloor\frac{a*n+b}{c}\rfloor+1)-2*g(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)\\ -2*f(c,c-b-1,a,\lfloor\frac{a*n+b}{c}\rfloor-1)-f(a,b,c,n)&a<c\text{ 且 }b<c\\ \end{cases} \]
模版
代码
代码
万能欧几里得
\(\sum_{i=0}^n\frac{a*i+b}{c}\)
模版
代码
例题
\[ \sum_{x=1}^LA^x*B^{\lfloor\frac{P*X+R}{Q}\rfloor} \]
代码
\[ \begin{align} \sum_{i=1}^{n}[i\%m==r]*popcount(i)\\ \sum_{i=0}^{\lfloor\frac{n-m}{r}\rfloor}popcount(i*m+r)\\ \sum_{i=0}^{\lfloor\frac{n-m}{r}\rfloor}\sum_{j=0}^{30}[\lfloor\dfrac{i*m+r}{2^j}\rfloor\equiv1\pmod2]\\ \sum_{i=0}^{\lfloor\frac{n-m}{r}\rfloor}\sum_{j=0}^{30}\left(\lfloor\dfrac{i*m+r}{2^j}\rfloor-\lfloor\dfrac{i*m+r}{2^{j+1}}\rfloor*2\right)\\ \sum_{j=0}^{30}\left(\sum_{i=0}^{\lfloor\frac{n-m}{r}\rfloor}\lfloor\dfrac{i*m+r}{2^j}\rfloor-\sum_{i=0}^{\lfloor\frac{n-m}{r}\rfloor}\lfloor\dfrac{i*m+r}{2^{j+1}}\rfloor*2\right) \end{align} \]