
多项式
文章平均质量分 79
多项式
西伯利亚松鼠
退役ACMer,退役MOer
展开
-
Codeforces Round #259 (Div. 1) D. Little Pony and Elements of Harmony FWT
D. Little Pony and Elements of Harmonysolutionei[u]=∑vei−1[v]∗b[f(u,v)].e_i[u]=\sum_{v}e_{i-1}[v]*b[f(u,v)].ei[u]=v∑ei−1[v]∗b[f(u,v)].设 cnt[u⊕v]=b[f(u⊕v)]cnt[u⊕v]=b[f(u⊕v)]cnt[u⊕v]=b[f(u⊕v)],有:ei[u]=∑vei−1[v]∗cnt[u⊕v].e_i[u]=\sum_{v}e_{i-1}[v]*cnt[原创 2021-08-04 16:23:26 · 211 阅读 · 0 评论 -
2021牛客暑期多校训练营4 Sample Game 生成函数
Sample Gamesoltuionf(x)=∑i=0∞Pixif(x)=\sum_{i=0}^{∞}P_ix^if(x)=∑i=0∞Pixi ,( PiP_iPi 表示构成长度 >i>i>i 的序列的可能性)由于序列为不下降序列,例:1112233451 1 1 2 2 3 3 4 5111223345,Pi=∏∑cntp=ipkP_i=\prod_{\sum cnt_p=i} p^kPi=∏∑cntp=ipkf(x)=∏j=1∞∑k=0ipjkxk=∏j=原创 2021-07-28 11:14:22 · 355 阅读 · 0 评论 -
E. Nikita and Order Statistics Codeforces Round #488 by NEAR (Div. 1) FFT
solution求任意区间内元素小于 kkk 的个数,并按顺序输出 k=0..nk=0..nk=0..n 的区间数.记录前缀和 ans[i]ans[i]ans[i] 表示前 iii 个数里小于 xxx 的元素个数.区间 l,rl,rl,r 内小于 xxx 的元素个数为 ans[r]−ans[l−1]ans[r] - ans[l - 1]ans[r]−ans[l−1],即 xans[r]−ans[l−1]x^{ans[r]-ans[l-1]}xans[r]−ans[l−1] 的系数.由于 −ans[.原创 2021-07-19 10:43:32 · 215 阅读 · 0 评论 -
Hash Function 2021牛客暑期多校训练营1 数论 + NTT
Hash Functionsolution任意选择该集合中的两个数,a,b,由于a%mod<>b%mod任意选择该集合中的两个数,a,b,由于a\%mod<>b\%mod任意选择该集合中的两个数,a,b,由于a%mod<>b%mod推出(a−b)%mod<>0.推出(a-b)\%mod<>0.推出(a−b)%mod<>0.因此只需要得到所有(c=a−b)的值,将c的因子,即(c%d==0)的d全部标记即可。因此只需要得到所有(原创 2021-07-18 11:16:48 · 134 阅读 · 0 评论 -
无限手套 分治 + NTT + 生成函数
solution∏k=0∞aixi2+bixi+1\prod\limits_{k=0}^{∞}a_ix_i^2+b_ix_i+1k=0∏∞aixi2+bixi+1考虑生成函数:考虑生成函数:考虑生成函数:=>∑k=0∞aik2xk+bixixk+xk=>\sum\limits_{k=0}^{∞}a_ik^2x^k+b_ix_ix^k+x^k=>k=0∑∞aik2xk+bixixk+xk=∑k=0∞aik2xk+∑k=0∞bixixk+∑k=0∞xk,(三项分别当作A原创 2021-07-17 09:23:32 · 513 阅读 · 1 评论 -
Interesting Series 计蒜客 FFT + CDQ分治 +生成函数
Interesting SeriessolutionF1=1F_1=1F1=1Fn=a∗Fn−1+1(n≥2)F_n=a*F_{n-1}+1(n≥2)Fn=a∗Fn−1+1(n≥2)=>Fn+1a−1=a∗(Fn−1+1a−1)=>F_n+\frac{1}{a-1}=a*(F_{n-1}+\frac{1}{a-1})=>Fn+a−11=a∗(Fn−1+a−11)Fn−1a−1=an−1(1+1a−1)=>Fn=an−1a−1F_n-\frac{1}{a-1}=a^原创 2021-07-13 11:21:35 · 178 阅读 · 0 评论 -
导数卷积 牛客 NTT
f(x)=∑i=0n−1ai∗xif(x)=\sum\limits_{i=0}^{n-1}a_i*x^if(x)=i=0∑n−1ai∗xif(x)=∑i=0n−1ai∗xif(x)=\sum\limits_{i=0}^{n-1}a_i*x^if(x)=i=0∑n−1ai∗xig(x)=∑i=0n−1f(i)(x)∗f(n−i+1)(x)g(x)=\sum\limits_{i=0}^{n-1}f^{(i)}(x)*f^{(n-i+1)}(x)g(x)=i=0∑n−1f(i)(x)∗f(n−i+1原创 2021-07-10 08:29:49 · 355 阅读 · 0 评论 -
乒乓球 牛客 NTT
乒乓球solution注意:以下 k=i−j+1表示i,j中间元素的个数,i<j注意:以下~k=i-j+1表示i,j中间元素的个数,i<j注意:以下 k=i−j+1表示i,j中间元素的个数,i<j考虑拿出顺序,对于i,j来说,它们之间有k个数(0<k<n−1),因此有2!∗k!种,剩下n−k−1个球插空放入(k+3)(k+3)...(n−1)n,且总方案为n!,易得:考虑拿出顺序,对于i,j来说,它们之间有k个数(0<k<n-1),因此有原创 2021-07-09 18:36:35 · 300 阅读 · 0 评论 -
RXD and functions HDU-6061 NTT
RXD and functionssolutiongm=f(x−∑i=1mai),令A=∑i=1mai,则有,g_m=f(x-\sum\limits_{i=1}^{m}a_i),令A=\sum\limits_{i=1}^{m}a_i,则有,gm=f(x−i=1∑mai),令A=i=1∑mai,则有,gm=f(x−A)g_m=f(x-A)gm=f(x−A)=∑i=0nci(x−a)i=\sum\limits_{i=0}^{n}c_i(x-a)^i=i=0∑nci(x−a)i=∑i=原创 2021-07-09 15:27:21 · 195 阅读 · 0 评论 -
Arithmetic Progressions CodeChef FFT
Arithmetic Progressionscode/*Siberian Squirrel*//*Cute KiloFish*/#include<bits/stdc++.h>#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)#define ACM_LOCALusing namespace std;typedef long long ll;const double PI = acos(-1);co原创 2021-03-16 17:55:59 · 652 阅读 · 0 评论 -
3-idiots HDU-4609 FFT
HDU-4609给你 n 个数,从中任取 3 个数,求这三个数可以组成一个三角形的概率T≤100,3≤n≤1e5,1≤ai≤1e5T≤100,3≤n ≤1e5,1≤a_i≤1e5T≤100,3≤n≤1e5,1≤ai≤1e5input241 3 3 442 3 3 4output0.50000001.0000000code//Siberian Squirrel//#include<bits/stdc++.h>#include<unordered_map>原创 2021-02-11 14:06:30 · 647 阅读 · 0 评论 -
A * B Problem HDU-1402 FFT
计算A * BA,B 长度均不超过50000.input1210002output22000solution将A, B 分别看作一个多项式,进行多项式乘法,最后考虑进位问题code#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <cstdio>#include <vector>#in原创 2021-02-11 07:56:55 · 106 阅读 · 0 评论