好像网上没有这么做的题解,所以就写个吧。
直接单位根反演,就有: 正常的做法是把斐波那契数用矩阵表示,然后用二项式定理。
考虑直接头铁用通项公式展开斐波那契数,就有 在模意义下可能没有 的二次剩余,故考虑扩域,把数表示成 的形式。
定义一下扩域后数的加减乘除然后直接做即可。在这里除法的本质是求逆元,也就是求 使得它和 乘起来为 。
不过需要注意的是,当 的时候, 没有逆元,这样就会 WA,考虑特殊处理一下。
可以发现 表示成 的形式的时候 ,那么当 的时候它的逆元 ,既然这样,后面的式子求出来的 也会等于 。
所以我们根本没有必要在这一步把这个复数求逆,直接把 求逆乘上后面的式子求出来的 即可。
常数可能会比矩阵乘法的做法小。
Gitalking ...