多项式初等函数

本页面包含多项式常见的初等函数操作。具体而言,本页面包含如下内容:

  1. 多项式求逆
  2. 多项式开方
  3. 多项式除法
  4. 多项式取模
  5. 多项式指数函数
  6. 多项式对数函数
  7. 多项式三角函数
  8. 多项式反三角函数

初等函数与非初等函数

多项式求逆

给定多项式 ,求 。

解法

倍增法

首先,易知

假设现在已经求出了  在模  意义下的逆元 。 有:

两边平方可得:

两边同乘  并移项可得:

递归计算即可。

时间复杂度

Newton's Method

参见 Newton's Method.

Graeffe 法

欲求  考虑

只需求出  即可还原出  因为  是偶函数,时间复杂度同上。

代码

多项式求逆

 
 

例题

  1. 有标号简单无向连通图计数:「POJ 1737」Connected Graph

多项式开方

给定多项式 ,求 ,满足:

解法

倍增法

首先讨论  不为  的情况。

易知:

若  没有平方根,则多项式  没有平方根。

 可能有多个平方根,选取不同的根会求出不同的 。

假设现在已经求出了  在模  意义下的平方根 ,则有:

倍增计算即可。

时间复杂度

还有一种常数较小的写法就是在倍增维护  的时候同时维护  而不是每次都求逆。

当  时,可能需要使用二次剩余来计算 。

上述方法需要知道  的逆,所以常数项不能为 。

若 ,则将  分解成 ,其中 。

  • 若  是奇数,则  没有平方根。

  • 若  是偶数,则求出  的平方根 ,然后得到 。

洛谷模板题 P5205【模板】多项式开根 参考代码

 
 
Newton's Method

参见 Newton's Method.

例题

  1. 「Codeforces Round #250」E. The Child and Binary Tree

多项式除法 & 取模

给定多项式 ,求  除  的商  和余数 。

解法

发现若能消除  的影响则可直接 多项式求逆 解决。

考虑构造变换

观察可知其实质为反转  的系数。

设 。

将  中的  替换成  并将其两边都乘上 ,得到:

注意到上式中  的系数为 ,则将其放到模  意义下即可消除  带来的影响。

又因  的次数为 ,故  不会受到影响。

则:

使用多项式求逆即可求出 ,将其反代即可得到 。

时间复杂度 。

多项式对数函数 & 指数函数

给定多项式 ,求模  意义下的  与 。

解法

普通方法

多项式对数函数多项式指数函数

首先,对于多项式 ,若  存在,则由其 定义,其必须满足:

对  求导再积分,可得:

多项式的求导,积分时间复杂度为 ,求逆时间复杂度为 ,故多项式求  时间复杂度 。

Newton's Method

使用 Newton's Method 即可在  的时间复杂度内解决多项式 。

代码

多项式 ln/exp

 
 

例题

  1. 计算 

    普通做法为多项式快速幂,时间复杂度 。

    当  时,有:

    当  时,设  的最低次项为 ,则:

    时间复杂度 。

多项式三角函数

给定多项式 ,求模  意义下的  与 。

解法

首先由 Euler's formula  可以得到 三角函数的另一个表达式

那么代入  就有:

直接按上述表达式编写程序即可得到模  意义下的  与 。再由  可求得 。

代码

多项式三角函数

 
 

多项式反三角函数

给定多项式 ,求模  意义下的  与 。

解法

仿照求多项式  的方法,对反三角函数求导再积分可得:

那么代入  就有:

直接按式子求就可以了。

代码

多项式反三角函数

 
 

参考资料与链接


  1. Elementary function——Wikipedia 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值