多项式——乘法逆元

这篇博客介绍了如何使用快速傅里叶变换(NTT)来高效地计算多项式在模意义下的乘法逆元。通过递归方法,将问题规模减半,并利用平方和差的性质,最终给出一个多项式的乘法逆元计算公式。文章以C++代码实现了一个NTT类,用于进行NTT和逆NTT操作,从而在O(nlogn)的时间复杂度内完成计算。

多项式——乘法逆元

给定一个多项式 F ( x ) F(x) F(x) ,请求出一个多项式 G ( x ) G(x) G(x) 满足 F ( x ) G ( x ) ≡ 1 m o d    x n F(x)G(x) \equiv 1 \mod x^n F(x)G(x)1modxn 。系数对 998244353 998244353 998244353 取模。

P4238 【模板】多项式乘法逆

本文只介绍递推的方法,首先将 n n n 补齐到 2 的幂次,当 n = 1 n = 1 n=1 的时候,多项式中只有一项,那么 [ x 0 ] G ( x ) [x^0]G(x) [x0]G(x) 就是 [ x 0 ] F ( x ) [x^0]F(x) [x0]F(x) 的乘法逆元。

假设我们已知 F ( x ) H ( x ) ≡ 1 m o d    x n 2 F(x)H(x) \equiv 1 \mod x^{\frac{n}{2}} F(x)H(x)1modx2n ,那么显然 F ( x ) G ( x ) ≡ 1 m o d    x n 2 F(x) G(x) \equiv 1 \mod x^{\frac{n}{2}} F(x)G(x)1modx2n ,那么 F ( x ) [ G ( x ) − H ( x ) ] ≡ 0 m o d    x n 2 F(x)[G(x) - H(x)] \equiv 0 \mod x^{\frac{n}{2}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值