FFT #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> #include<algorithm> #define maxn 1000005 using namespace std; inline int read() { ,f=;char ch=getchar(); ; +ch-'; return x*f; }…
传送门 codeforces传送门codeforces传送门codeforces传送门 生成函数好题. 卡场差评至今未过 题意简述:nnn个点的二叉树,每个点的权值KaTeX parse error: Expected 'EOF', got '\inC' at position 4: v_i\̲i̲n̲C̲=\{a_1,a_2,...a-,定义一棵树的权值为所有点的权值之和,问有多少棵树满足其权值等于i(i=1,2,...,m)i(i=1,2,...,m)i(i=1,2,...,m) 对每个点的…
首先,我们构造一个函数$G(x)$,若存在$k∈C$,则$[x^k]G(x)=1$. 不妨设$F(x)$为最终答案的生成函数,则$[x^n]F(x)$即为权值为$n$的神犇二叉树个数. 不难推导出,$[x^n]F(x)=\sum_{i=0}^{n}[x^i]G(x)\sum_{j=0}^{n-i}[x^j]F(j)\times [x^{n-j-i}]F(n-j-i)$. (这个式子的意思就是说,不妨设当前根节点的权值为i,然后枚举左右两个子树的权值) 这个式子显然可以通过动规的方式去推,从而得出…
题面 传送门 思路 首先,我们把这个输入的点的生成函数搞出来: $C=\sum_{i=0}^{lim}s_ix^i$ 其中$lim$为集合里面出现过的最大的数,$s_i$表示大小为$i$的数是否出现过 我们再设另外一个函数$F$,定义$F_k$表示总权值为$k$的二叉树个数 那么,一个二叉树显然可以通过两个子树(可以权值为0,也就是空子树)和一个节点构成 那么有如下求$F$的式子 $F_0=1$ $F_k=\sum_{i=0}^k s_i \sum_{j=0}^{k-i} F_j F_{k-i-…
生成函数又有奇妙的性质. $F(x)=C(x)*F(x)*F(x)+1$ 然后大力解方程,得到一个带根号的式子. 多项式开根有解只与常数项有关. 发现两个解只有一个是成立的. 然后多项式开根.求逆. 不太会算复杂度为什么是$n\log {n}$的. 开根号里套了一个求逆,不应该是两个$\log$? #include <map> #include <cmath> #include <queue> #include <cstdio> #include <c…
题目大意 给定n种权值 给定m \(F_i表示权值和为i的二叉树个数\) 求\(F_1,F_2...F_m\) 分析 安利博客 \(F_d=F_L*F_R*C_{mid},L+mid+R=d\) \(F(x)=\frac {1+\sqrt{1-4C(x)}}{2C(x)}=\frac 2{1-\sqrt{1-4C(x)}}\) 无解是因为\(x=0\)时\(F(x)=1\) 但是\(\lim\limits_{x\rightarrow 0}\)时\(1-\sqrt{1-4C(x)}趋于0\) \(…
城市规划 时间限制:40s      空间限制:256MB 题目描述 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.  刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通. 为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两个建立路线的方案, 如果存在一个城市对, 在两个方案中是否建立路线不一样, 那么这两个方案就是不同的, 否则就是相同的. 现在你需要求出一共有多少不同的方案.  好了, 这就…
定义多项式$h(x)$的每一项系数$h_i$,为i在c[1]~c[n]中的出现次数. 定义多项式$f(x)$的每一项系数$f_i$,为权值为i的方案数. 通过简单的分析我们可以发现:$f(x)=\frac{2}{\sqrt{1-4h(x)}+1}$ 于是我们需要多项式开方和多项式求逆. 多项式求逆: 求$B(x)$,使得$A(x)*B(x)=1\;(mod\;x^m)$ 考虑倍增. 假设我们已知$A(x)*B(x)=1\;(mod\;x^m)$,要求$C(x)$,使得$A(x)*C(x)=1\;…
题目大意 考虑一个含有\(n\)个互异正整数的序列\(c_1,c_2,\ldots ,c_n\).如果一棵带点权的有根二叉树满足其所有顶点的权值都在集合\(\{c_1,c_2,\ldots ,c_n\}\)中,我们的小朋友就会将其称作神犇的.并且他认为,一棵带点权的树的权值,是其所有顶点权值的总和. 给出一个整数\(m\),你能对于任意的\(s(1\leq s\leq m)\)计算出权值为\(s\)的神犇二叉树的个数吗? 我们只需要知道答案关于\(998244353\)取模后的值. \(n,m\…
[BZOJ3625/CF438E]小朋友和二叉树(多项式求逆,多项式开方) 题面 BZOJ CodeForces 大致题意: 对于每个数出现的次数对应的多项式\(A(x)\) 求\[f(x)=\frac{2}{\sqrt{-4A(x)+1}+1}\] 题解 多项式开方+多项式求逆模板题 我之前写的多项式求逆很丑,常数大的惊人 成功拿到洛谷模板题倒数第一的速度 于是,我学习了一波Gay神的写法 写了一下这道题目 具体的细节暂时不写了,以后肯定有机会的写的(这点我可以保证) #include<ios…