----多项式相关
文章平均质量分 62
扩展的灰
扩展的灰(Extended Ash)
展开
-
一些基础算法的模板(持续更新)
更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin原创 2017-10-25 22:05:58 · 3734 阅读 · 0 评论 -
PKUSC2018部分题解
.LOJ的std+数据+当时讲题的记忆硬是刚了五道题(D1t3咕咕咕)稍微写一下题解LOJ6432 「PKUSC2018」真实排名一道比较简单的题,不过需要注意很多细节考虑排名不变的两种情况1.自己分数xxx不变,那么所有分数在[[x2],x)[[\frac{x}{2}],x)[[2x],x)中的其他人的分数也不能变,否则必然有在自己后面的人到自己前面2.自己分数xxx翻倍,那么...原创 2018-12-29 11:04:04 · 687 阅读 · 0 评论 -
伯努利数
.生成函数B(z)=zez−1=∑Bnznn!B(z)=\frac{z}{e^z-1}=\sum B_n\frac{z^n}{n!}B(z)=ez−1z=∑Bnn!zn递推式(n2n^2n2)B0=1B_0=1B0=1Bn=−∑k=0nBkn−k+1B_n=-\sum_{k=0}^n\frac{B_k}{n-k+1}Bn=−k=0∑nn−k+1Bk也可以写成这样∑k=0nC...原创 2018-10-24 18:32:58 · 719 阅读 · 0 评论 -
FWT模板
.稍微学了一下FWT发现挺好写这个东西和FFT其实区别比较大,所以比较适合理性理解比如对于or运算的FWT,我们考虑这样一个式子FWTor(A)[i]=∑j∣i=iA[j]FWT_{or}(A)[i]=\sum_{j|i=i}A[j]FWTor(A)[i]=j∣i=i∑A[j]以及我们要求的东西(A∣B)[k]=∑i∣j=kA[i]∗B[j](A|B)[k]=\sum_{i|j=k}...原创 2018-10-10 10:50:50 · 352 阅读 · 0 评论 -
多项式相关模板#2
.最近出了几个这样的题于是就把模板库完善了一下,依然是全程NTT实现,模数为998244353,依然没有多点插值和多点求值不过这次画风大变,因为结构体化的多项式模板其实无论用什么实现方式(数组,指针,vector)都不能同时兼顾效率和灵活性两方面,所以整个代码都是用数组实现稍微写一下一些需要注意的点:多项式求逆大概是基于一个思想:倍增首先当deg(A)=1deg(A)=1deg(A)=...原创 2018-10-12 08:09:48 · 215 阅读 · 0 评论 -
Jzoj5622 table
p一道非常有意思的题目如果将第一行看做一个多项式,那么每过一行就是乘上了一个(a+bx)那么我们可以求出(a+bx)^p的逆,让后就可以求出第一行当然也可以有简单做法首先如果推下式子,很容易知道第p行到第x行的转移 (x>p)f[x][y]=∑f[p][y-i]*a^(x-p-i)*b^i*C(x-p,i) (0那么我们考虑一下怎么用第p行推出p行上面的东西我们可以原创 2018-04-20 20:31:00 · 248 阅读 · 0 评论 -
多项式相关模板#1
一个模板,功能大概就是加减,乘法,求逆和除法,后面(可能)会加上exp,ln,多点求值,插值,取模#pragma GCC optimize("O3")#pragma G++ optimize("O3")#include#include#include#define N 280010#define M 998244353#define LL long longusing na原创 2018-04-23 16:30:06 · 177 阅读 · 0 评论 -
51Nod1514 美妙的序列
题目看这里需要开一个新的分类了,生成函数相关这道题确实非常的入门分析得知,不合法方案就是存在一个i那么设f[n]表示n的答案,可以得到f[n]=n!-∑f[i]*(n-i)! (i移项得到∑f[i]*(n-i)!=n! (i发现可以生成函数设F(x)=∑f[i]*x^i, G(x)=∑i!*x^i (i=1..∞)根据上面那条式子得到F(x)*G(x)=G(x)-原创 2018-04-23 16:10:09 · 410 阅读 · 0 评论 -
Jzoj3303 城市规划
刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.刚才说过, 阿狸的国家有n 个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通.为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两个建立路线的方案, 如果存在一个城市对, 在两个方案中是否建立路线不一样, 那么这两个方案就是不同的, 否则就是相同的. 现在你需要求出一共原创 2018-01-25 08:04:43 · 285 阅读 · 0 评论 -
(各种)FFT模板
先来一个标准的归并版FFT 2881ms#include#include#include#include#define D doubleusing namespace std;struct Z{ D x,y; } a[280010],b[280010],z[280010];inline Z operator+ (Z x,Z y){ return (Z){x.x+y.x,x.y原创 2018-01-23 11:31:05 · 258 阅读 · 0 评论 -
LOJ 6495~6497「雅礼集训 2018 Day1」
.真是看懂std就秒的三道题,但是看懂就很难啊(感谢superguymj和memset0两个大佬的代码)稍微说一下题解-------------------------------------------------------- 「雅礼集训 2018 Day1」树这道题的正解被superguymj大佬吊打了,原来O(n⋅2n)O(n·2^n)O(n⋅2n)变成了O(n4)O(n^4)...原创 2019-01-04 08:47:08 · 1357 阅读 · 1 评论