博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P5205 【模板】多项式开根
阅读量:6085 次
发布时间:2019-06-20

本文共 1090 字,大约阅读时间需要 3 分钟。

思路

按如下式子计算即可

\[ B(x)=\frac{A(x)+B'^2(x)}{2B'(x)} \]

代码

// luogu-judger-enable-o2#include 
#include
#include
#define int long longusing namespace std;const int MAXN = 300000;const int G = 3;const int invG = 332748118;const int MOD = 998244353;int n;struct Poly{ int t;//次数界 int data[MAXN]; Poly(){} Poly(int x,int val[]){ for(int i=0;i<=x;i++) data[i]=val[i]; }};int pow(int a,int b){ int ans=1; while(b){ if(b&1) ans=(1LL*ans*a)%MOD; a=(1LL*a*a)%MOD; b>>=1; } return ans;}void rever(Poly &a){ for(int i=0,j=a.t;i
>j)&1) t|=(1<<(lim-j-1)); if(i
>1,len); static Poly tmp1,tmp2,tmp; while((dep<<1)>len) len<<=1; for(int i=0;i
>1); // printf("dep=%lld\n",dep); while((dep<<1)>(midlen)) midlen<<=1; static Poly tmp1,tmp2,tmp3; tmp1=b;tmp3=b; save(tmp1,dep-1); save(tmp3,dep-1); save(tmp2,-1); int midlent=1; for(int i=0;i

转载于:https://www.cnblogs.com/dreagonm/p/10651696.html

你可能感兴趣的文章
第十四篇:获取系统数据文件信息
查看>>
为什么有些语言可以被反编译?而有的不能?
查看>>
JVM 调优
查看>>
最大似然估计
查看>>
如何使用Total Recorder录制软件发出的声音
查看>>
把异步架构延伸到客户端
查看>>
ORACLE数据库表解锁record is locked by another user
查看>>
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
查看>>
Qualcomm 8X camera过程解析【转】
查看>>
配置管理之PackageProvider接口
查看>>
Oracle业务用户密码过期问题的解决
查看>>
EasyBoot使用方法
查看>>
Spring中基于Java的配置@Configuration和@Bean用法 (转)
查看>>
asp.net页面后退,重复弹出上一页对话框处理办法
查看>>
SolidWorks如何绘制抽壳零件
查看>>
js 数组排序
查看>>
简洁的python测试框架——Croner
查看>>
快速编译system.img和boot.img的方法【转】
查看>>
docker 学习
查看>>
《杀死一只知更鸟》哪个译本好?
查看>>