多项式
文章平均质量分 89
Daniel__d
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
P4389-EGF
P4389题目描述题解我们写出每一件商品的生成函数:Fi(x)=1+xvi+x2vi+...=11−xviF_i(x)=1+x^{v_i}+x^{2v_i}+...=\frac{1}{1-x^{v_i}}Fi(x)=1+xvi+x2vi+...=1−xvi1那么将所有F(x)F(x)F(x)乘起来就是答案的生成函数:G(x)=∏i=1m(11−xi)aiG(x)=\prod\limits_{i=1}^m(\frac{1}{1-x^i})^{a_i}G(x)=i=1∏m(1−原创 2020-08-06 08:41:16 · 282 阅读 · 0 评论 -
P4841-EGF
P4841题目描述题目描题解代码#include<bits/stdc++.h>#define ll long long using namespace std;const int g=3;const int mod=1004535809; const int M=2100009;char s;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getch原创 2020-08-05 21:25:25 · 335 阅读 · 0 评论 -
P4451-生成函数
P4451题目描述题解代码#include<bits/stdc++.h>#define int long longusing namespace std;const int mod=1e9+7; int ksm(int a,int b){ int ans=1; while(b){ if(b&1) ans=ans*a%mod; a=a*a%mod; b>>=1; }return ans;}signed main(){ int re=0;原创 2020-08-04 22:36:35 · 262 阅读 · 0 评论 -
CF438E-生成函数
CF438E题目描述题解代码暴力O(n3)O(n^3)O(n3)#include<bits/stdc++.h>#define int long long#define M 1000009using namespace std;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='-'){f=-1,ch=getchar(原创 2020-08-04 21:50:24 · 267 阅读 · 0 评论 -
BZOJ3513-FFT,组合数学
BZOJ3513题目描述题目大意:给定nnn个长度分别为aia_iai的木棒,问随机选择333个木棒能够拼成三角形的概率。题解代码#include <cmath>#include <cstdio>#include <climits>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#de原创 2020-08-01 21:16:16 · 365 阅读 · 0 评论 -
BZOJ3509-FFT,分块
BZOJ3509题目描述给定一个长度为NNN的数组A[]A[]A[],求有多少对i,j,k(1<=i<j<k<=Ni, j, k(1<=i< j< k<=Ni,j,k(1<=i<j<k<=N满足A[k]−A[j]=A[j]−A[i]A[k]-A[j]=A[j]-A[i]A[k]−A[j]=A[j]−A[i]。题解代码O(n2logn)O(n^2logn)O(n2logn)#include<bits/stdc++.h&g原创 2020-08-01 21:08:18 · 385 阅读 · 0 评论 -
P4199-FFT,manacher
P4199题目描述题解代码#include<bits/stdc++.h>#define ll long long#define LL unsigned long long#define M 2000009using namespace std;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='-'){f=-1,ch原创 2020-08-01 20:51:29 · 170 阅读 · 0 评论 -
P4721-分治FFT,生成函数
P4721题目描述题解代码生成函数O(nlogn)O(nlogn)O(nlogn)分治FFTO(nlog2n)O(nlog^2n)O(nlog2n)#include<bits/stdc++.h>#define ll long long #define M 400009//要开4倍! using namespace std;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!原创 2020-08-01 20:24:38 · 318 阅读 · 0 评论 -
P4173 残缺的字符串(单模式字符串匹配FFT)
P4173题目描述题解代码#include<cmath>#include<cstdio>#include<climits>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;int read(){ int f=1,re=0;char ch; for(ch=getcha原创 2020-07-31 21:36:23 · 251 阅读 · 0 评论 -
P3723 礼物(FFT)
P3723 礼物题目描述题解代码#include <cmath>#include <cstdio>#include <climits>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define ll long longusing namespace std;const int M原创 2020-07-31 21:09:00 · 200 阅读 · 0 评论 -
P3338-力(FFT)
P3338 力题目描述题解代码#include <cmath>#include <cstdio>#include <climits>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;const int M=4e5+9;const double p原创 2020-07-31 20:23:17 · 215 阅读 · 0 评论 -
多项式指数函数(exp)
多项式指数函数(exp)已知A(x)A(x)A(x),求使得B(x)≡eA(x)(modxn)B(x)\equiv{e^{A(x)}}\pmod{x^n}B(x)≡eA(x)(modxn)的B(x)B(x)B(x)前置知识:牛顿迭代(咕咕咕)观察本题,由于B(x)≡eA(x)(modxn)lnB(x)−A(x)≡0(modxn)令G(B(x))≡lnB(x)−A(x)(modxn)B(x)\equiv{e^{A(x)}}\pmod{x^n}\\\ln B(x)-A(x)\equiv0\pmod原创 2020-10-24 16:44:04 · 1690 阅读 · 0 评论 -
多项式快速幂
多项式快速幂已知A(x)A(x)A(x),求使得B(x)≡A(x)k(modxn)B(x)\equiv{A(x)^k}\pmod{x^n}B(x)≡A(x)k(modxn)两边先取对数(换底公式),再exp回来lnB(x)≡klnA(x)(modxn)B(x)=eklnA(x)(modxn)\ln B(x)\equiv{k\ln A(x)}\pmod{x^n}\\B(x)=e^{k\ln A(x)}\pmod{x^n}lnB(x)≡klnA(x)(modxn)B(x)=eklnA(x)(m原创 2020-07-30 20:55:13 · 273 阅读 · 0 评论 -
多项式对数函数(ln)
多项式对数函数(ln)已知A(x)A(x)A(x),求使得B(x)=lnA(x)B(x)=\ln A(x)B(x)=lnA(x)的B(x)B(x)B(x)考虑先求导,后积分B′(x)=A′(x)A(x)B(x)=∫A′(x)A(x)dxB'(x)=\frac{A'(x)}{A(x)}\\B(x)=\int\frac{A'(x)}{A(x)}dxB′(x)=A(x)A′(x)B(x)=∫A(x)A′(x)dx附上求导和积分的公式A′(x)=∑(i+1)aixi∫A(x)dx=∑ai−1i原创 2020-07-30 20:42:09 · 875 阅读 · 0 评论 -
多项式开根
多项式开根已知A(x)A(x)A(x),求使得B(x)2≡A(x)(modxn)B(x)^2\equiv{A(x)\pmod{x^n}}B(x)2≡A(x)(modxn)的B(x)B(x)B(x)类似求逆,考虑倍增。假设当前已知B′(x)2≡A(x)(modxn2)B'(x)^2\equiv{A(x)}\pmod{x^{\frac{n}{2}}}B′(x)2≡A(x)(modx2n)(B′(x)2−A(x))2≡0(modxn)B′(x)4−2B′(x)2A(x)+A(x)2≡0(modxn)B′原创 2020-07-30 20:28:37 · 421 阅读 · 1 评论 -
多项式除法
多项式除法(取模)已知次数为nnn的A(x)A(x)A(x),次数为mmm的B(x)B(x)B(x),求使得A(x)=B(x)C(x)+D(x)A(x)=B(x)C(x)+D(x)A(x)=B(x)C(x)+D(x)的C(x),D(x)C(x),D(x)C(x),D(x)由题C(x)C(x)C(x)的次数为n−mn-mn−m,D(x)D(x)D(x)的次数为m−1m-1m−1考虑将系数颠倒过来。记AR(x)=xnA(1x)A^R(x)=x^nA(\frac{1}{x})AR(x)=xnA(x1)原创 2020-07-30 20:12:30 · 700 阅读 · 0 评论 -
多项式求逆
多项式求逆板子 P4238已知A(x)A(x)A(x),求使得A(x)B(x)≡1(modxn)A(x)B(x)\equiv 1 \pmod{x^n}A(x)B(x)≡1(modxn)的B(x)B(x)B(x)考虑倍增。假设当前已得到B′(x)B'(x)B′(x),满足A(x)B′(x)≡1(modxn)A(x)B'(x)\equiv 1 \pmod{x^n}A(x)B′(x)≡1(modxn)A(x)B′(x)−1≡0(modxn2)(A(x)B′(x)−1)2≡0(mod2n)A(x)2B′(原创 2020-07-30 19:52:53 · 211 阅读 · 0 评论 -
多项式全家桶
#include<bits/stdc++.h>#define ll long long using namespace std;const int g=3;const int mod=998244353; const int M=2100009;char s;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='-'){f=原创 2020-07-30 19:36:50 · 184 阅读 · 0 评论
分享