![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多项式
文章平均质量分 61
616156
赛高______↑
展开
-
【FFT】Triple Sums
分析:如果不考虑取值相同,本题就非常简单了,直接用AxAxA_x表示为值为xxx的数量,然后求A3A3A^3即可。 现在要考虑取值相同,很显然,如果是两个值取值相同的情况,这种情况会出现3次,如果是三个值都相同的情况,则会出现一次。所以,首先求A3A3A^3,再设一个多项式B,其中BxBxB_x表示x2x2\frac x 2出现的次数。 求出A×BA×BA\times B最后设一个...原创 2018-06-22 22:23:26 · 233 阅读 · 0 评论 -
【多项式】【NTT】洛谷P5050 多项式多点求值
分析:板子:#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define SF scanf#define PF printf#define MAXN 3000010#define MOD 998244353using namespace std...原创 2018-12-29 21:58:26 · 286 阅读 · 0 评论 -
【NTT】【多项式】多项式快速插值(log^3)模板
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define SF scanf#define PF printf#define MAXN 3000010#define MOD 998244353using namespace std;const ...原创 2018-12-30 10:43:20 · 435 阅读 · 0 评论 -
【NTT】【多项式】洛谷P5158 多项式快速插值(log^2)
快速插值O(Nlog2N)O(N log^2 N)O(Nlog2N)板子。话说这代码居然比O(Nlog3N)O(N log^3 N)O(Nlog3N)更短更好写。。。实测本题O(Nlog3N)O(N log^3 N)O(Nlog3N)的时间是O(Nlog2N)O(N log^2 N)O(Nlog2N)的5~6倍左右。#include<cstdio>#include<cst...原创 2018-12-30 11:43:39 · 282 阅读 · 0 评论 -
【NTT】【多项式】多项式对数函数
分析:ln(A(x))=B(x)ln(A(x))=B(x)ln(A(x))=B(x)A′(x)A(x)=B′(x)\frac {A&#x27;(x)} {A(x)}=B&#x27;(x)A(x)A′(x)=B′(x)所以只需要写一发多项式求逆就可以了。套上多项式积分和求导。#include<cstdio>#include<cstring>#i...原创 2018-12-30 16:00:10 · 266 阅读 · 0 评论 -
【NTT】【多项式】洛谷4726 多项式指数函数
分析:牛顿迭代大法好啊eA(x)≡B(x)e^{A(x)}\equiv B(x)eA(x)≡B(x)A(x)≡ln(B(x))A(x)\equiv ln(B(x))A(x)≡ln(B(x))ln(B(x))−A(x)≡0ln(B(x))-A(x)\equiv 0ln(B(x))−A(x)≡0设ln(B(x))−A(x)=G(B(x))ln(B(x))-A(x)=G(B(x))ln(B(x...原创 2018-12-30 16:07:42 · 238 阅读 · 0 评论 -
【线性代数】多项式各类算法总结
前言:这可能是本蒟蒻在2018省选以前写的最难的东西了。 考虑到时间紧迫,所以有些东西我自己也不能完全理解,只能照搬课件。 只能以后再看机会填坑了再说回多项式,几乎所有的多项式算法都是基于NTT的优化,也就是说,要想办法把所有的运算,转化为可以使用NTT优化的表达方式。首先给出几个在之后的证明中可能用到的概念: 一个多项式AAA的最高次幂,称为该多项式的度,记为degAdegAd...原创 2018-04-04 08:30:32 · 5106 阅读 · 0 评论 -
【多项式】CQBZOJ 3773 多项式计算五合一
题意:分析:红红火火恍恍惚惚#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#define SF scanf#define PF printf#define MAXN 800010#define ...原创 2019-01-03 10:25:27 · 139 阅读 · 0 评论 -
【多项式】【DP】省选模拟51nod抽卡大赛
题目:分析:O(n4)O(n^4)O(n4)的DP很容易能想到定义DP[i][j][k]DP[i][j][k]DP[i][j][k]表示第i个人选j时,有k个人比它小的概率然后就能直接算期望了。不过这玩意显然要T发现,对于一个已经固定的i,j,那么剩下的所有人的所有情况本质上只有2种:比Ai,jA_{i,j}Ai,j小,比Ai,jA_{i,j}Ai,j大。那么可以把每个人比它小...原创 2019-03-25 10:23:03 · 185 阅读 · 0 评论 -
【多项式】【字符串】【manachar】BZOJ3160万径人踪灭
分析:还是比较板的多项式老题这题唯一花哨一点的,就是要求回文串不能全部连续。而我们知道,全部连续的话可以用manachar算出来。那么剩下的就是算所有的回文子序列的方案数了。显然fft一发,对每个位置,算出其左边和右边对称的个数,记为f(i)f(i)f(i)那么以i为中心的回文子序列数量就是2f(i)−12^{f(i)}-12f(i)−1#include<cstdio>...原创 2019-03-26 20:17:18 · 215 阅读 · 0 评论 -
【多项式】【生成函数】51nod1514 美妙的序列
分析:感觉生成函数在这有点大材小用了。。。。这个合法的序列就是指任意一个前缀都不能是1-i的排列设f(n)f(n)f(n)表示用前n个数组成的合法排列个数。那么f(n)=n!−∑i=0i<nf(i)∗(n−i)!f(n)=n!-\sum_{i=0}^{i<n}f(i)*(n-i)!f(n)=n!−∑i=0i<nf(i)∗(n−i)!移项∑i=0i≤nf...原创 2019-03-26 21:39:49 · 272 阅读 · 0 评论 -
【CDQ分治】【FFT】【DP】【最短路】CodeForces553E Kyoya and Train
分析:首先,很容易想到一个会T的DP:定义f(i,j)f(i,j)f(i,j)表示在i号点,用了j单位时间,到达目的地的最小期望代价。转移很显然:f(i,j)=min{Costi−&gt;v+∑f(v,j+k)∗Pi−&gt;v,k}f(i,j)=min\{Cost_{i-&gt;v}+\sum f(v,j+k)*P_{i-&gt;v,k}\}f(i,j)=m...原创 2018-12-25 09:21:21 · 249 阅读 · 0 评论 -
【总结】FWT算法
前言:作为FFT又一个衍生算法,FWT相对(NTT)来说比较特殊,特殊在它的运算全部是逻辑运算(即与,或,异或等),这也导致FWT的代码看上去和FFT并不类似,但总的来说FWT是一个相对容易的算法(只不过需要背一些东西)。算法介绍FFT算法,是用于优化卷积,而FWT是用于优化逻辑运算卷积。形如下图: C[x⊕y]=∑A[x]B[y]C[x⊕y]=∑A[x]B[y]C[x\op...原创 2018-03-12 10:48:40 · 7533 阅读 · 0 评论 -
【FFT】HDU4609 3-idiots
分析:要求的就是Ax+Ay−Az≤0Ax+Ay−Az≤0A_x+A_y-A_z\leq 0的方案数 只要x≠yx≠yx≠y,就能保证如果满足条件,则选择一定合法(即x≠y,y≠z,x≠zx≠y,y≠z,x≠zx≠y,y≠z,x≠z)所以只需要令AxAxA_x表示xxx出现的次数,然后求出A2A2A^2设一多项式BxBxB_x表示x2x2\frac x 2出现的次数A2−BA2−B...原创 2018-06-22 22:28:22 · 79 阅读 · 0 评论 -
【FFT】UVa12633 Super Rooks on Chessboard
分析:如果忽略斜向的情况,那么这道题就很简单了: 求出所有没被覆盖的行数,以及所有没被覆盖的列数,乘起来就是没被横向和纵向覆盖的格子总数。 现在考虑斜向的情况,如果没有被横向和纵向的干扰,那么每一条斜线覆盖的点数都是可计算的。但由于横向与纵向的存在,所以要加回来它们也覆盖的位置(因为被重复计数了)。用一个多项式AxAxA_x表示第x行是否被覆盖(被覆盖为0,未被覆盖为1) 用一个多项...原创 2018-06-23 13:57:53 · 105 阅读 · 0 评论 -
【NTT】BZOJ3992序列统计
分析:这道题与其他题目的最大区别,在于这里变成了累乘,而不是累加。这样就不能直接用NTT搞了。所以要转化一下问题:引入原根。原根的一大性质就是,若对于一个质数p,其一个原根为g 则g0,g1,g2,……gp−2(mod p)g0,g1,g2,……gp−2(mod p)g^0,g^1,g^2,……g^{p-2}(mod\space p)构成了p的一个既约剩余系(...原创 2018-06-24 22:11:12 · 152 阅读 · 0 评论 -
【FFT】UVALive4671 K-neighbor substrings
分析:这道题巧用了卷积的性质。使用FFT来实现字符串匹配。 是一种高效的匹配方式,但缺陷在于,其必须按照每种字符分别匹配,有多少种字符,就要匹配多少次。如果把模式串翻转,然后依次把某一字符设为1,其他字符设为0,此时做一次卷积,得到的结果AxAxA_x就表示以x为终点匹配的字符数。然后这道题需要字符串hash来判重,本来很经典的一道题这样一来就有点画蛇添足了。#include...原创 2018-06-24 22:41:35 · 130 阅读 · 0 评论 -
【FFT】Codeforces954I Yet Another String Matching Problem
分析:又是一道经典的FFT做字符串匹配的问题。 题目要求做一定次数的操作,使得最终所有相匹配的字符一样。可以将这个字符映射到一个图上,如果这种匹配情况下有一个字符xxx匹配的是yyy,那么就在图中xxx点向yyy点连一条边。最终图中的每个联通块的大小-1就是操作次数。(其实可以用并查集实现,操作次数就是并查集中的合并次数)所以枚举每一种匹配关系,比如如果考虑xxx字符与yyy字符匹配...原创 2018-06-24 22:49:00 · 277 阅读 · 0 评论 -
【分块】【FFT】CodeChef COUNTARI Arithmetic Progressions
分析:主要就是分块。。。首先,假设我们将原序列分为k块,对于任意一个三元组,如果三个都在同一个块内,或者两个在一个块内,都可以在O(Nk×Nk×k)=O(N2K)O(Nk×Nk×k)=O(N2K)O(\frac N k \times \frac N k\times k)=O(\frac {N^2} K)的复杂度内解决。现在考虑只有三个值在不同的块的情况。这样对于同一个块,可以把...原创 2018-06-24 22:59:57 · 212 阅读 · 0 评论 -
【NTT】【数论】【图论】AGC005F Many Easy Problems
分析:这题最恶心的一点就在开头:首先,在树上,联通块大小为边的大小+1,所以可以算边的贡献:对每条边而言,如果它能造成贡献,那么必然在它两端都有选中的点,设选k个点,那么方案数就是C(n,k)−C(suma,k)−C(sumb,k)C(n,k)-C(sum_a,k)-C(sum_b,k)C(n,k)−C(suma,k)−C(sumb,k),suma,sumbsum_a,sum_bsuma...原创 2018-09-20 17:21:54 · 167 阅读 · 0 评论 -
【FWT】HDU5909 Tree Cutting
分析:FWT优化DP板子。直接把N^2的转移换成NlogN即可,其余不变。#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cmath&gt;#include&lt;vector&gt;#define SF scanf#define PF printf#define MAXN 60#define M原创 2018-12-18 13:14:02 · 177 阅读 · 0 评论 -
【常系数线性递推】51nod1538 一道难题
分析:懒得去卡常。。。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#define SF scanf#define PF printf#define MOD 104857601#define MAXN...原创 2019-03-28 22:23:04 · 198 阅读 · 0 评论