原文链接www.cnblogs.com/zhouzhendong/p/CF438E.html 前言 没做过多项式题,来一道入门题试试刀. 题解 设 $a_i$ 表示节点权值和为 $i$ 的二叉树个数,特别的,我们定义 $a_0 = 1$ ,即我们认为没有节点也算一种二叉树. 设 $$g(x) = \sum_{i=1}^n x^{c_i}\\f(x) = \sum_{i=0}^{\infty} a_i x^i$$ 根据组合意义可得 $$f^2(x) g(x) + 1 = f(x) $$ 于是 $$…
题目传送门 传送点I 传送点II 传送点III 题目大意 每个点的权值$c\in {c_{1}, c_{2}, \cdots, c_{n}}$,问对于每个$1\leqslant s\leqslant m$有多少种不同的这样的有根二叉树满足所有点的点权和等于$s$. 先考虑一下怎么用dp来做. 设$f_{n}$表示点权和为$n$的满足条件的二叉树的个数,那么有: $f_{n} = \sum_{c \in C}\sum_{i = 0}^{n - c}f_{i}f_{n - c - i}$ 初值满足$…
洛谷 Codeforces 思路 看到计数和\(998244353\),可以感觉到这是一个DP+生成函数+NTT的题. 设\(s_i\)表示\(i\)是否在集合中,\(A\)为\(s\)的生成函数,即\(A(x)=\sum_n s_nx^n\). 设\(f_n\)为有\(n\)分时二叉树的个数. 考虑枚举左子树大小和根节点权值,得到 \[ f_n=[n=0]+\sum_{i=1}^{mx} s_i \sum_{j=0}^{n-i} f_jf_{n-i-j} \] 然后记\(F(x)\)为\(f\…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3625 http://codeforces.com/contest/438/problem/E 开方:https://blog.csdn.net/kscla/article/details/79356786 不过还是不会二次剩余. 也不知道为什么取了 G(x)-B(x)=0 而不是 G(x)+B(x)=0. 式子是  B(x) = ( A(x) + G2(x) ) / 2*G(x) ,但写的…
CF Round250 E. The Child and Binary Tree 题意:n种权值集合C, 求点权值和为1...m的二叉树的个数, 形态不同的二叉树不同. 也就是说:不带标号,孩子有序 \(n,m \le 10^5\) sro vfk picks orz 和卡特兰数很像啊,\(f_i\)权值为i的方案数,递推式 \[ f[i] = \sum_{i\in C} \sum_{j=0}^{m-i}f[j]f[n-i-j] \] 用OGF表示他 \[ C(x)=\sum_{i\in C}x…
http://codeforces.com/contest/438/problem/E 题意:询问每个点权值在 $c_1, c_2, ..., c_m$ 中,总权值和为 $s$ 的二叉树个数.请给出每个$s \in [1,S]$ 对应的答案.($S,m < 10^5$) #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=(1e5+10)*4, mo=998244353; int…
BZOJ 3625 吐槽 BZOJ上至今没有卡过去,太慢了卡得我不敢交了…… 一件很奇怪的事情就是不管是本地还是自己上传数据到OJ测试都远远没有到达时限. 本题做法 设$f_i$表示权值为$i$的二叉树的个数,因为一棵二叉树可以通过左右儿子构建起来转移,我们可以得到转移: $$f_w = \sum_{x, y, w - (x + y) \in c} f_x * f_y$$ 注意到左右子树可以为空,所以$f_0 = 1$. 很容易发现这是一个卷积的形式,我们尝试把它写得好看一点. 先把物品写成生成…
[CF438E]The Child and Binary Tree(多项式运算,生成函数) 题面 有一个大小为\(n\)的集合\(S\) 问所有点权都在集合中,并且点权之和分别为\([0,m]\)的二叉树的个数. \(n,m<=10^5\) 题解 设\(f(i)\)表示点权和为\(i\)的二叉树个数,\(c(i)\)是集合中数的生成函数,那么我们可以得到 \[f(n)=\sum_{i=1}^{n}c(i)\sum_{j=0}^{n-i}f(j)f(n-i-j)\] 显然有\(f(0)=1\) 构…
[codeforces438E]The Child and Binary Tree 试题描述 Our child likes computer science very much, especially he likes binary trees. Consider the sequence of n distinct positive integers: \(c_1, c_2, \cdots , c_n\). The child calls a vertex-weighted rooted b…
CF438E The Child and Binary Tree Description 给一个大小为\(n\)的序列\(C\),保证\(C\)中每个元素各不相同,现在你要统计点权全在\(C\)中,且点权和为\(m\)的二叉树个数,并对\(998244353\)取模. \(n,m \le 10^5\) Solution \(998244353\)?这很多项式...... 总之先颓柿子好了. 令\(f_n\)表示权值和为\(n\)的二叉树个数,\(g_n\)表示权值\(n\)是否出现在\(C\)中…