多项式开方


描述

给定多项式 ,求 ,满足:

解法

倍增法

首先讨论 不为 的情况。

易知:

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

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

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

倍增计算即可。

时间复杂度

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

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

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

,则将 分解成 ,其中

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

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

Newton's Method

参见

Newton's Method.

例题

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

贡献者:@Untitled_unrevised@kenlig@mgt@H-J-Granger@雷蒻@huayucaiji@ouuan@Ir1d@abc1763613206@TrisolarisHD

本页面最近更新:2/3/2023, 12:00:00 AM更新历史

发现错误?想一起完善? 在 GitHub 上编辑此页!

本页面的全部内容在 CC BY-SA 4.0SATA 协议之条款下提供,附加条款亦可能应用

评论

0 条评论
未登录用户


Copyright © 2016 - 2023 OI Wiki Team

最近更新:fd2ec2c, 2023-02-03

联系方式:Telegram 群组 / QQ 群组