万能欧几里得算法
万能欧几里得算法
一个很 nb 的东西,可以求解基本上见不到的 \(\sum^{i=1}_{n}f(x)a^xg(y)b^y\ (y=\lfloor \frac{px+r}{q}\rfloor)\)
将其丢到 \(y=\lfloor \frac{px+r}{q}\rfloor\) 的平面几何上思考,维护一个矩阵,遇到横线乘 \(U\) ,遇到竖线乘 \(R\)
将得到一个包含 \(U\) 和 \(R\) 的序列,考虑快速求解
形式化的描述,有 \(l\) 个 \(R\) 的 \(U,R\) 矩阵,以 \(R\) 结尾,第 \(x\) 个 \(R\) 前有 \(y=\lfloor \frac{px+r}{q}\rfloor\),求矩阵乘积。
当 \(p \ge q\) 时,每个 \(R\) 前都有 \(\lfloor \frac{p}{q}\rfloor\) 个 \(U\) ,进行合并:
\[likegcd(p,q,r,l,U,R)=likegcd(p \% q,q,r,l,U,U^{\lfloor \frac{p}{q}\rfloor}R)
\]
当 \(p < q\) 时,考虑第 \(y\) 个 \(U\) 前有多少个 \(R\) ,进行翻转:
\[likegcd(p,q,r,l,U,R)=R^{\lfloor \frac{q-r-1}{p}\rfloor}U \times likegcd(q,p,(q−r−1)\%p,cntS−1,R,U) \times R^{l-\lfloor\frac{qcntS-r-1}{p}\rfloor}
\]
例题: