首页 > TAG信息列表 > 开根
[学习笔记]多项式开根
思路: 推柿子跟求逆一样,分治(倍增)的思想:不想写了 推出\((F-G)^2 \equiv0\pmod{x^n}\) 所以\(G=\dfrac{F^2+A}{2F}\) 边界处要用二次剩余的Cipolla算法。 因此只要会多项式求逆、乘法,二次剩余即可。 code #include<bits/stdc++.h> using namespace std; typedef long long ll; constP2293 [HNOI2004]高精度开根 题解
link P2293 [HNOI2004]高精度开根 求 \(a\) 的 \(b\) 次根 sol 由于 \(f(x)=x^n=k\) 是单调的,所以二分找到答案就好了 code a=int(input()) b=int(input()) l=0 r=1 while(r**a<=b): l=r;r=r*2 while(l+1<r): mid=(l+r)//2 if (mid**a<=b): l=mid else多项式牛顿迭代(应用:求逆,开根,对数exp)
多项式牛顿迭代 给定多项式 g ( x ) g(x) g(x),求 f【模板】多项式开根(加强版)
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 262150; const int mod = 998244353; int qpow(int p,int q) {return (q&1?p:1)*(q?qpow(p*p%mod,q/2):1)%mod;} int inv(int p) {return qpow(p,mod-2);} namespace cipolla多项式总结
傅里叶变换(FFT)学习笔记 NTT与多项式全家桶 多项式相关(求逆、开根、除法、取模)Power of Cryptography
http://poj.org/problem?id=2109 给一个大概100位的高精度整数p,找他的n次方根,貌似题目有问题,不一定会有开根开得尽的情况,这个时候要找的就是最大的根。 那这样有什么意思呢? 这种题按道理要用Java去写的,可以先从p和n的关系找到根的位数,然后在这个范围里面二分会更快。 具体来说,比如【luogu2293】【bzoj1213】 [HNOI2004]高精度开根 [高精度]
P2293 [HNOI2004]高精度开根 bzoj1213 为了证明我不是毒瘤 于是我把这道题打了 很艰难 结果一看最后那个题解 居然要乘10来确保精度 惊了?! 然后还改进了一下自己的高精模版 #include<bits/stdc++.h>using namespace std;#define rg registerconst int N=10000+5,power=4,base=高精度开根
输入n,m 求m开n次方根 #include<bits/stdc++.h> typedef long long ll; const int K=3,N=40003/K,M=pow(10,K),p=998244353,g=3,gi=332748118; int m,i,l,r,L,lim,re[N],f[11],a[N],b[N],inv; char s[10003]; struct NUM{ int t,a[N]; }x,A; inline int pls(int x,int y){【知识总结】多项式全家桶(四)(快速幂和开根)
上一篇:【知识总结】多项式全家桶(三)(任意模数NTT) 推荐小恐龙的博客(参考资料):多项式开根 (本文中一切多项式运算默认在模 \(x_n\) 意义下进行) 一、快速幂 多项式快速幂?首先有一种很显然的方式是把整数快速幂里面的整数乘法替换成多项式乘法 NTT ,复杂度 \(O(n\log^2n)\) 。 然而还有一种洛谷P5205 【模板】多项式开根
https://www.luogu.org/problemnew/show/P5205 按道理说,多项式开根可以有多个解(根据常数项不同有不同的解)。此题只需要输出常数项为1的解(题面漏了) 首先,可以直接多项式快速幂做(2对998244353的逆元)次幂(直接做只能在输入常数项为1时)(我不是很懂为什么能起效,不过的确能AC) 版本1:基于版[洛谷P5205]【模板】多项式开根
题目大意:给你$n$项多项式$A(x)$,求出$B(x)$满足$B^2(x)\equiv A(x)\pmod{x^n}$ 题解:考虑已经求出$B_0(x)$满足$B_0^2(x)\equiv A(x)\pmod{x^{\lceil\frac n 2\rceil}}$$$B(x)-B_0(x)\equiv0\pmod{x^{\lceil\frac n 2\rceil}}\\B^2(x)−2B(x)B_0(x)+B_0^2(x)≡0\pmod{x^n}\\A(x)-2B(x