# 反演

# 二项式反演

如果有 :
f(x)=∑i=0n(−1)i∗(ni)∗g(i) f(x) = \sum _{i = 0} ^{n} (-1) ^{i} * \binom{n}{i} * g(i)

那么有 :
g(x)=∑i=0n(−1)i∗(ni)∗f(i) g(x) = \sum _{i = 0} ^{n} (-1) ^{i} * \binom{n}{i} * f(i)

# 单位根反演

[k∣n]=1k∑i=0k−1(ωkn)i [k|n] = \frac{1}{k} \sum _{i = 0} ^{k - 1} \left( \omega _{k} ^{n} \right) ^{i}

# 类欧几里得算法

f(a,b,c,n)=∑i=0n⌊ai+bc⌋g(a,b,c,n)=∑i=0n⌊ai+bc⌋2h(a,b,c,n)=∑i=0ni∗⌊ai+bc⌋\begin{aligned} f(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor \\ g(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor ^{2} \\ h(a,b,c,n) & = \sum _{i = 0} ^{n} i \ast \left\lfloor \frac{ai + b}{c} \right\rfloor \\ \end{aligned}

# f(a,b,c,n)=∑i=0n⌊ai+bc⌋f(a,b,c,n) = \sum _{i = 0} ^{n} \lfloor \frac{ai + b}{c} \rfloor

(1). 对于 a≥ca \ge c 或 b≥cb \ge c 时

f(a,b,c,n)=∑i=0n⌊ai+bc⌋=∑i=0n⌊(⌊a/c⌋c+a%c) i+⌊b/c⌋c+b%cc⌋=∑i=0n(⌊a/c⌋i+⌊b/c⌋+⌊(a%c) i+b%cc⌋)=n (n+1)2∗⌊a/c⌋c+(n+1)∗⌊b/c⌋c+∑i=0n⌊(a%c) i+b%cc⌋=n (n+1)2∗⌊a/c⌋c+(n+1)∗⌊b/c⌋c+f(a%c, b%c, c, n)\begin{aligned} f(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor \\ & = \sum _{i = 0} ^{n} \left\lfloor \frac{ ( \lfloor a / c \rfloor c + a \% c ) \, i + \lfloor b / c \rfloor c + b \% c } {c} \right\rfloor \\ & = \sum _{i = 0} ^{n} \left( \lfloor a / c \rfloor i + \lfloor b / c \rfloor + \left\lfloor \frac{ (a \% c) \, i + b \% c } {c} \right\rfloor \right) \\ & = \frac{n \, (n + 1)}{2} * \lfloor a / c \rfloor c + (n + 1) * \lfloor b / c \rfloor c + \sum _{i = 0} ^{n} \left\lfloor \frac{ (a \% c) \, i + b \% c } {c} \right\rfloor \\ & = \frac{n \, (n + 1)}{2} * \lfloor a / c \rfloor c + (n + 1) * \lfloor b / c \rfloor c + f(a \% c,\, b \% c,\, c,\, n) \\ \end{aligned}

(2). 对于 a<ca < c 且 b<cb < c 时

记 m=⌊an+bc⌋m=\lfloor \frac{an+b}{c} \rfloor , 则有 :

f(a,b,c,n)=∑i=0n⌊ai+bc⌋=∑i=0n∑j=0m−1[j<⌊ai+bc⌋]=∑i=0n∑j=0m−1[j+1≤ai+bc]=∑i=0n∑j=0m−1[jc+c−b≤ai]=∑i=0n∑j=0m−1[jc+c−b−1a<i]=∑j=0m−1∑i=0n[jc+c−b−1a<i]=∑j=0m−1(n−⌊jc+c−b−1a⌋)=nm−f(c, c−b−1, a, m−1)\begin{aligned} \\ f(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor \\ & = \sum _{i = 0} ^{n} \sum _{j = 0} ^ {m-1} \left[ j < \left\lfloor \frac{ai + b}{c} \right\rfloor \right] \\ & = \sum _{i = 0} ^{n} \sum _{j = 0} ^ {m-1} \left[ j + 1 \leq \frac{ai + b}{c} \right] \\ & = \sum _{i = 0} ^{n} \sum _{j = 0} ^ {m-1} \left[ jc + c - b \leq ai \right] \\ & = \sum _{i = 0} ^{n} \sum _{j = 0} ^ {m-1} \left[ \frac{jc + c - b - 1}{a} < i \right] \\ & = \sum _{j = 0} ^ {m-1} \sum _{i = 0} ^{n} \left[ \frac{jc + c - b - 1}{a} < i \right] \\ & = \sum _{j = 0} ^ {m-1} \left( n - \left\lfloor \frac{jc + c - b - 1}{a} \right\rfloor \right) \\ & = nm - f(c,\, c-b-1,\, a,\, m - 1) \\ \end{aligned}

综上,可得以下式子 :

f(a,b,c,n)={n (n+1)2∗⌊ac⌋+(n+1)∗⌊bc⌋+f(a%c, b%c, c, n),a≥c  or  b≥cnm−f(c, c−b−1, a, m−1),a<c  and  a<c\begin{aligned} f(a,b,c,n) = \begin{cases} \frac{n \, (n + 1)}{2} * \left\lfloor \frac{a}{c} \right\rfloor + (n + 1) * \left\lfloor \frac{b}{c} \right\rfloor + f(a \% c,\, b \% c,\, c,\, n) & , a \ge c \;or\; b \ge c \\ nm - f(c,\, c-b-1,\, a,\, m - 1) & , a < c \;and\; a < c \end{cases} \end{aligned}

# g(a,b,c,n)=∑i=0n⌊ai+bc⌋2g(a,b,c,n) = \sum _{i = 0} ^n \lfloor \frac{ai + b}{c} \rfloor ^2

(1). 对于 a≥ca \ge c 或 b≥cb \ge c 时

g(a,b,c,n)=∑i=0n⌊ai+bc⌋2=∑i=0n⌊(⌊a/c⌋+a%c)i+(⌊b/c⌋+b%c)c⌋2=∑i=0n(⌊a/c⌋i+⌊b/c⌋+⌊(a%c)i+b%cc⌋)2=∑i=0n((⌊a/c⌋i+⌊b/c⌋)2+⌊(a%c)i+(b%c)c⌋2+2i(⌊a/c⌋+⌊b/c⌋)⌊(a%c)i+b%cc⌋)=∑i=0n(⌊a/c⌋i+⌊b/c⌋)2+∑i=0n⌊(a%c)i+(b%c)c⌋2+∑i=0n2(⌊a/c⌋i+⌊b/c⌋)⌊(a%c)i+b%cc⌋=∑i=0n⌊a/c⌋2i2+∑i=0n⌊b/c⌋2+∑i=0n2i⌊a/c⌋⌊b/c⌋+∑i=0n⌊(a%c)i+(b%c)c⌋2+∑i=0n2⌊a/c⌋i⌊(a%c)i+b%cc⌋+∑i=0n2⌊b/c⌋⌊(a%c)i+b%cc⌋=⌊a/c⌋2∑i=0ni2+∑i=0n⌊b/c⌋2+2⌊a/c⌋⌊b/c⌋∑i=0ni+∑i=0n⌊(a%c)i+(b%c)c⌋2+2⌊a/c⌋∑i=0ni⌊(a%c)i+b%cc⌋+2⌊b/c⌋∑i=0n⌊(a%c)i+b%cc⌋=n(n+1)(n∗2+1)⌊a/c⌋26+(n+1)⌊b/c⌋2+n(n+1)⌊a/c⌋⌊b/c⌋+g(a%c, b%c, c, n)+2⌊a/c⌋h(a%c, b%c, c, n)+2⌊b/c⌋f(a%c, b%c, c, n)\begin{aligned} g(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor ^{2} \\ & = \sum _{i = 0} ^{n} \left\lfloor \frac{ ( \lfloor a / c \rfloor + a \% c ) i + ( \lfloor b / c \rfloor + b \% c ) }{c} \right\rfloor ^ {2} \\ & = \sum _{i = 0} ^{n} \left( \lfloor a / c \rfloor i + \lfloor b / c \rfloor + \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor \right) ^ {2} \\ & = \sum _{i = 0} ^{n} \left( ( \lfloor a / c \rfloor i + \lfloor b / c \rfloor ) ^{2} + \left\lfloor \frac{ (a \% c) i + (b \% c) }{c} \right\rfloor ^ {2} + 2 i ( \lfloor a / c \rfloor + \lfloor b / c \rfloor ) \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor \right) \\ & = \sum _{i = 0} ^{n} ( \lfloor a / c \rfloor i + \lfloor b / c \rfloor ) ^{2} + \sum _{i = 0} ^{n} \left\lfloor \frac{ (a \% c) i + (b \% c) }{c} \right\rfloor ^ {2} + \sum _{i = 0} ^{n} 2 ( \lfloor a / c \rfloor i + \lfloor b / c \rfloor ) \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor \\ & = \sum _{i = 0} ^{n} \lfloor a / c \rfloor ^{2} i ^{2} + \sum _{i = 0} ^{n} \lfloor b / c \rfloor ^{2} + \sum _{i = 0} ^{n} 2 i \lfloor a / c \rfloor \lfloor b / c \rfloor + \sum _{i = 0} ^{n} \left\lfloor \frac{ (a \% c) i + (b \% c) }{c} \right\rfloor ^ {2} + \sum _{i = 0} ^{n} 2 \lfloor a / c \rfloor i \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor + \sum _{i = 0} ^{n} 2 \lfloor b / c \rfloor \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor \\ & = \lfloor a / c \rfloor ^{2} \sum _{i = 0} ^{n} i ^{2} + \sum _{i = 0} ^{n} \lfloor b / c \rfloor ^{2} + 2 \lfloor a / c \rfloor \lfloor b / c \rfloor \sum _{i = 0} ^{n} i + \sum _{i = 0} ^{n} \left\lfloor \frac{ (a \% c) i + (b \% c) }{c} \right\rfloor ^ {2} + 2 \lfloor a / c \rfloor \sum _{i = 0} ^{n} i \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor + 2 \lfloor b / c \rfloor \sum _{i = 0} ^{n} \left\lfloor \frac{ (a \% c) i + b \% c }{c} \right\rfloor \\ & = \frac{n (n + 1) (n \ast 2 + 1) \lfloor a / c \rfloor ^{2}} {6} + (n + 1) \lfloor b / c \rfloor ^{2} + n (n+1) \lfloor a / c \rfloor \lfloor b / c \rfloor + g(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor a / c \rfloor h(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor b / c \rfloor f(a \% c,\, b \% c,\, c,\, n) \end{aligned}

(2). 对于 a<ca < c 且 b<cb < c 时

已知 x2=(2∑i=1xi)−x=(2∑i=0xi)−xx ^{2} = \left( 2 \sum _{i = 1} ^{x} i \right) -x = \left( 2 \sum _{i = 0} ^{x} i \right) -x

记 m=⌊an+bc⌋m = \lfloor \frac{an + b}{c} \rfloor, 则有 :

g(a,b,c,n)=∑i=0n⌊ai+bc⌋2=2∑i=0n∑j=0⌊ai+bc⌋j−∑i=0n⌊ai+bc⌋=2∑i=0n∑j=1mj[  j<⌊ai+bc⌋  ]−f(a,b,c,n)=2∑i=0n∑j=1mj[  jc+c−b−1a<i  ]−f(a,b,c,n)=2∑i=0n∑j=0m−1(j+1)[  jc+c−b−1a<i  ]−f(a,b,c,n)=2∑j=0m−1∑i=0n(j+1)[  jc+c−b−1a<i  ]−f(a,b,c,n)=2∑j=0m−1(j+1)(n−⌊jc+c−b−1a⌋)−f(a,b,c,n)=2n∑j=1mj−2∑j=0m−1(j+1)⌊jc+c−b−1a⌋−f(a,b,c,n)=nm(m+1)−2h(c, c−b−1, a, m−1)−2f(a, b, c, m−1)−f(a,b,c,n)\begin{aligned} g(a,b,c,n) & = \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor ^{2} \\ & = 2 \sum _{i = 0} ^{n} \sum _{j = 0} ^{ \lfloor \frac{ai + b}{c} \rfloor} j - \sum _{i = 0} ^{n} \left\lfloor \frac{ai + b}{c} \right\rfloor \\ & = 2 \sum _{i = 0} ^{n} \sum _{j = 1} ^{m} j \left[ \; j < \left\lfloor \frac{ai + b}{c} \right\rfloor \; \right] - f(a, b, c, n) \\ & = 2 \sum _{i = 0} ^{n} \sum _{j = 1} ^{m} j \left[ \; \frac{jc + c - b - 1}{a} < i \; \right] - f(a, b, c, n) \\ & = 2 \sum _{i = 0} ^{n} \sum _{j = 0} ^{m-1} (j+1) \left[ \; \frac{jc + c - b - 1}{a} < i \; \right] - f(a, b, c, n) \\ & = 2 \sum _{j = 0} ^{m-1} \sum _{i = 0} ^{n} (j+1) \left[ \; \frac{jc + c - b - 1}{a} < i \; \right] - f(a, b, c, n) \\ & = 2 \sum _{j = 0} ^{m-1} (j+1) \left( n - \left\lfloor \frac{jc + c - b - 1}{a} \right\rfloor \right) - f(a, b, c, n) \\ & = 2 n \sum _{j = 1} ^{m} j - 2 \sum _{j = 0} ^{m-1} (j+1) \left\lfloor \frac{jc + c - b - 1}{a} \right\rfloor - f(a, b, c, n) \\ & = n m (m + 1) - 2 h(c,\, c - b - 1,\, a,\, m - 1) - 2 f(a,\, b,\, c,\, m-1) - f(a, b, c, n) \end{aligned}

综上,可得以下式子 :

g(a,b,c,n)={n(n+1)(n∗2+1)⌊a/c⌋26+(n+1)⌊b/c⌋2+n(n+1)⌊a/c⌋⌊b/c⌋+g(a%c, b%c, c, n)+2⌊a/c⌋h(a%c, b%c, c, n)+2⌊b/c⌋f(a%c, b%c, c, n)nm(m+1)−2h(c, c−b−1, a, m−1)−2f(a, b, c, m−1)−f(a,b,c,n),a<c  and  a<c\begin{aligned} g(a,b,c,n) = \begin{cases} \frac{n (n + 1) (n \ast 2 + 1) \lfloor a / c \rfloor ^{2}} {6} + (n + 1) \lfloor b / c \rfloor ^{2} + n (n+1) \lfloor a / c \rfloor \lfloor b / c \rfloor + g(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor a / c \rfloor h(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor b / c \rfloor f(a \% c,\, b \% c,\, c,\, n) \\ n m (m + 1) - 2 h(c,\, c - b - 1,\, a,\, m - 1) - 2 f(a,\, b,\, c,\, m-1) - f(a, b, c, n) & , a < c \;and\; a < c \end{cases} \end{aligned}

# h(a,b,c,n)=∑i=0ni⌊ai+bc⌋h(a,b,c,n) = \sum _{i=0}^{n} i \left\lfloor \frac{ai+b}{c} \right\rfloor

(1). 对于 a≥ca \ge c 或 b≥cb \ge c 时

h(a,b,c,n)=∑i=0ni∗⌊ai+bc⌋=∑i=0ni∗⌊(⌊a/c⌋c+a%c) i+⌊b/c⌋c+b%cc⌋=∑i=0ni∗(⌊a/c⌋i+⌊b/c⌋+⌊(a%c) i+b%cc⌋)=∑i=0ni2⌊a/c⌋+∑i=0ni⌊b/c⌋+∑i=0ni∗⌊(a%c) i+b%cc⌋=n(n+1)(n∗2+1)⌊a/c⌋6+n(n+1)⌊b/c⌋2+h(a%c, b%c, c,n)\begin{aligned} h(a,b,c,n) & = \sum _{i = 0} ^{n} i \ast \left\lfloor \frac{ai + b}{c} \right\rfloor \\ & = \sum _{i = 0} ^{n} i \ast \left\lfloor \frac{ ( \lfloor a / c \rfloor c + a \% c ) \, i + \lfloor b / c \rfloor c + b \% c } {c} \right\rfloor \\ & = \sum _{i = 0} ^{n} i \ast \left( \lfloor a / c \rfloor i + \lfloor b / c \rfloor + \left\lfloor \frac{ (a \% c) \, i + b \% c } {c} \right\rfloor \right) \\ & = \sum _{i = 0} ^{n} i ^{2} \lfloor a / c \rfloor + \sum _{i = 0} ^{n} i \lfloor b / c \rfloor + \sum _{i = 0} ^{n} i \ast \left\lfloor \frac{ (a \% c) \, i + b \% c } {c} \right\rfloor \\ & = \frac{n (n + 1) ( n * 2 +1) \lfloor a / c \rfloor}{6} + \frac{n (n + 1) \lfloor b / c \rfloor}{2} + h(a \% c,\, b \% c,\, c, n) \end{aligned}

(2). 对于 a<ca < c 且 b<cb < c 时

记 G=⌊jc+c−b−1a⌋G = \left\lfloor \frac{jc + c - b - 1 }{a} \right\rfloor, 则有 :

h(a,b,c,n)=∑i=0ni∗⌊ai+bc⌋=∑i=0ni∑j=0m−1[j<⌊ai+bc⌋]=∑i=0n∑j=0m−1i∗[jc+c−b−1a<i]=∑j=0m−1∑i=0ni∗[G<i]=∑j=0m−1∑i=G+1ni=12∑j=0m−1(n+G+1)(n−G)=12∑j=0m−1(n2−G2+n−G)=12∑j=0m−1n2−12∑j=0m−1G2+12∑j=0m−1n−12∑j=0m−1G=12(n2m+nm−f(c, c−b−1, a,m−1)−g(c, c−b−1, a,m−1))=12nm(n+1)−12f(c, c−b−1, a,m−1)−12g(c, c−b−1, a,m−1)\begin{aligned} h(a,b,c,n) & = \sum _{i = 0} ^{n} i \ast \left\lfloor \frac{ai + b}{c} \right\rfloor \\ & = \sum _{i = 0} ^{n} i \sum _{j = 0} ^{m - 1} \left[ j < \left\lfloor \frac{ai + b}{c} \right\rfloor \right] \\ & = \sum _{i = 0} ^{n} \sum _{j = 0} ^{m - 1} i \ast \left[ \frac{jc + c - b - 1}{a} < i \right] \\ & = \sum _{j = 0} ^{m - 1} \sum _{i = 0} ^{n} i \ast \left[ G < i \right] \\ & = \sum _{j = 0} ^{m - 1} \sum _{i = G + 1} ^{n} i \\ & = \frac{1}{2} \sum _{j = 0} ^{m - 1} (n + G + 1)(n - G) \\ & = \frac{1}{2} \sum _{j = 0} ^{m - 1} (n ^ {2} - G ^ {2} + n - G) \\ & = \frac{1}{2} \sum _{j = 0} ^{m - 1} n ^ {2} - \frac{1}{2} \sum _{j = 0} ^{m - 1} G ^ {2} + \frac{1}{2} \sum _{j = 0} ^{m - 1} n - \frac{1}{2} \sum _{j = 0} ^{m - 1} G \\ & = \frac{1}{2} \left( n ^ {2} m + n m - f(c,\, c - b - 1,\, a, m - 1) - g(c,\, c - b - 1,\, a, m - 1) \right) \\ & = \frac{1}{2} n m (n + 1) - \frac{1}{2} f(c,\, c - b - 1,\, a, m - 1) - \frac{1}{2} g(c,\, c - b - 1,\, a, m - 1) \\ \end{aligned}

综上,可得以下式子 :

h(a,b,c,n)={n(n+1)(n∗2+1)⌊a/c⌋6+n(n+1)⌊b/c⌋2+h(a%c, b%c, c,n),a≥c  or  b≥c12nm(n+1)−12f(c, c−b−1, a,m−1)−12g(c, c−b−1, a,m−1),a<c  and  a<c\begin{aligned} h(a,b,c,n) = \begin{cases} \frac{n (n + 1) ( n * 2 +1) \lfloor a / c \rfloor}{6} + \frac{n (n + 1) \lfloor b / c \rfloor}{2} + h(a \% c,\, b \% c,\, c, n) & , a \ge c \;or\; b \ge c \\ \frac{1}{2} n m (n + 1) - \frac{1}{2} f(c,\, c - b - 1,\, a, m - 1) - \frac{1}{2} g(c,\, c - b - 1,\, a, m - 1) & , a < c \;and\; a < c \end{cases} \end{aligned}

# 总结:

f(a,b,c,n)={n (n+1)2∗⌊ac⌋+(n+1)∗⌊bc⌋+f(a%c, b%c, c, n),a≥c  or  b≥cnm−f(c, c−b−1, a, m−1),a<c  and  a<cg(a,b,c,n)={n(n+1)(n∗2+1)⌊a/c⌋26+(n+1)⌊b/c⌋2+n(n+1)⌊a/c⌋⌊b/c⌋+g(a%c, b%c, c, n)+2⌊a/c⌋h(a%c, b%c, c, n)+2⌊b/c⌋f(a%c, b%c, c, n)nm(m+1)−2h(c, c−b−1, a, m−1)−2f(a, b, c, m−1)−f(a,b,c,n),a<c  and  a<ch(a,b,c,n)={n(n+1)(n∗2+1)⌊a/c⌋6+n(n+1)⌊b/c⌋2+h(a%c, b%c, c,n),a≥c  or  b≥c12nm(n+1)−12f(c, c−b−1, a,m−1)−12g(c, c−b−1, a,m−1),a<c  and  a<c\begin{aligned} f(a,b,c,n) & = \begin{cases} \frac{n \, (n + 1)}{2} * \left\lfloor \frac{a}{c} \right\rfloor + (n + 1) * \left\lfloor \frac{b}{c} \right\rfloor + f(a \% c,\, b \% c,\, c,\, n) & , a \ge c \;or\; b \ge c \\ nm - f(c,\, c-b-1,\, a,\, m - 1) & , a < c \;and\; a < c \end{cases} \\ g(a,b,c,n) & = \begin{cases} \frac{n (n + 1) (n \ast 2 + 1) \lfloor a / c \rfloor ^{2}} {6} + (n + 1) \lfloor b / c \rfloor ^{2} + n (n+1) \lfloor a / c \rfloor \lfloor b / c \rfloor + g(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor a / c \rfloor h(a \% c,\, b \% c,\, c,\, n) + 2 \lfloor b / c \rfloor f(a \% c,\, b \% c,\, c,\, n) \\ n m (m + 1) - 2 h(c,\, c - b - 1,\, a,\, m - 1) - 2 f(a,\, b,\, c,\, m-1) - f(a, b, c, n) & , a < c \;and\; a < c \end{cases} \\ h(a,b,c,n) & = \begin{cases} \frac{n (n + 1) ( n * 2 +1) \lfloor a / c \rfloor}{6} + \frac{n (n + 1) \lfloor b / c \rfloor}{2} + h(a \% c,\, b \% c,\, c, n) & , a \ge c \;or\; b \ge c \\ \frac{1}{2} n m (n + 1) - \frac{1}{2} f(c,\, c - b - 1,\, a, m - 1) - \frac{1}{2} g(c,\, c - b - 1,\, a, m - 1) & , a < c \;and\; a < c \end{cases} \end{aligned}

\Huge

\begin{aligned} \end{aligned}

\begin{aligned} \end{aligned}