0%

类欧几里得

参考

OI-wiki

引入

其中$a,b,c,n$都是常数,需要一个$O(\log n)$的算法。

如果$a\ge c$或者$b\ge c$,可以将$a,b$对$c$取模以化简,即

然后考虑$a<c,b<c$的情况:

这样就又变成了$a\ge c$的问题,递归解决即可。复杂度为$O(\log n)$。

扩展

首先,让$a,b$对$c$取模。

然后进行类似的推导

考虑前面那部分

模板:luoguP5170