多项式取模

又是一个毒瘤操作。

首先我们可以干这么一件很有趣的事情。

把一个多项式的所有系数reverse了。

然后再把\frac{1}{x}代进去,然后再乘上一个x^n,又变回原来的多项式了。

数学讲就是

f(x)=a_0+a_1x

f_R(x)=a_0x^n+a_1x^{n-1}

f_R(\frac{1}{x})=a_0(\frac{1}{x})^n+a_1(\frac{1}{x})^{n-1}

x^nf_R(\frac{1}{x})=a_0+a_1x

所以它转回去了。

切入正题:给定n次多项式A,m次多项式B,求的一个D和R,使得

A=BD+R,且R的最高次小于m。dzyo说可以证明DR唯一。

所以我们可以这么干。

A(x)=B(x)D(x)+R(x)

A(\frac{1}{x})=B(\frac{1}{x})D(\frac{1}{x})+R(\frac{1}{x})

两边同乘x^n

x^nA(\frac{1}{x})=x^mB(\frac{1}{x})x^{n-m}D(\frac{1}{x})+x^{n-m+1}x^{m-1}R(\frac{1}{x})

A_R(x)=B_R(x)D_R(x)+x^{n-m+1}R_R(x)

A_R(x)=B_R(x)D_R(x)(modx^{n-m+1})

所以将ABreverse,多项式求逆得到D_R,然后reverse,然后减出R。

代码咕了,,我要复习NO……啊不是CSp-s

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值