这题一看就觉得是生成函数的题... 我们不妨去推下此题的生成函数,设生成函数为$F(x)$,则$[x^s]F(x)$即为答案. 根据题意,我们得到 $F(x)=x+\sum_{i∈D} F^i(x)$,其中前面单独出现的$x$可以理解为空树的情况. 如果$i$的范围很小,那么我们就可以用求根公式去解多项式方程23333. 然而考虑到$i$最大为$10^5$,根据阿贝尔定理,无根式解,所以不能用此方法. 我们对原先的式子做一个移项,得$F(x)-\sum_{i∈D} F^i(x)=x$. 我们构造…
设$f(x)$为树的生成函数,即$x^i$的系数为根节点权值为$i$的树的个数.不难得出$f(x)=\sum_{k\in D}f(x)^k+x$我们要求这个多项式的第$n$项,由拉格朗日反演可得$[x^n]f(x)=\frac1n[x^{n-1}](\frac x{g(x)})^n$其中$[x^n]f(x)$表示$f(x)$的$n$次项系数.$f(x)$是$g(x)$的复合逆,即$g(f(x))=x$在本题中,$g(x)=x-\sum_{k\in D}x^k$我们需要多项式求逆和多项式快速幂.多…
设答案为$f_s$,它的生成函数为$\begin{align*}F(x)=\sum\limits_{i=0}^\infty f_ix^i\end{align*}$,则我们有$\begin{align*}F(x)=x+\sum\limits_{k\in D}F^k(x)\end{align*}$(枚举儿子数量$k$,计数$k$个儿子的权值组合起来的方案,再加上单点成树的情况),移项得到$\begin{align*}F(x)-\sum\limits_{k\in D}F^k(x)=x\end{alig…
题目大意:在字符集大小为$m$的情况下,有多少种构造长度为$n$的字符串$s$的方案,使得$C(s)=k$.其中$C(s)$表示字符串$s$中出现次数最多的字符的出现次数. 对$998244353$取模,$n,m≤5\times 10^4$ 如果你考虑去DP,你就lose了. 令$F(x)$表示满足$C(s)≤x$的方案数. 那么最终的答案显然为$F(k)-F(k-1)$. 这一题有一个非常优美的性质:对于每一种字符,允许的最多出现次数都是$k$. 那么,令$G_k(x)=\sum\limits…
题面 传送门 题解 首先你得知道什么是拉格朗日反演->这里 我们列出树的个数的生成函数 \[T(x)=x+\prod_{i\in D}T^i(x)\] \[T(x)-\prod_{i\in D}T^i(x)=x\] 我们记\(F(x)=T(x)\),\(G(x)=x-\prod_{i\in D}x^i\),那么有\(G(F(x))=x\) 根据拉格朗日反演,可得 \[[x^n]F(x)=\frac{1}{n}[x^{-1}]\frac{1}{G(x)^n}\] //minamoto #inclu…
题目 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数 列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问题需要你的帮助: 给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个.小C认为 ,两个数列{Ai}和{Bi}不同,当且仅当至少存在一个整数i,满足Ai≠Bi.另外,小C认为这个问题的答案可能很大 ,因此他只需要你帮助他求出答案mod 1004535809…
3684: 大朋友和多叉树 题意: 求有n个叶子结点,非叶节点的孩子数量\(\in S, a \notin S\)的有根树个数,无标号,孩子有序. 鏼鏼鏼! 树的OGF:\(T(x) = \sum_{i\ge 0} t_ix^i\) \[ T(x) = x + \sum_{k \in S}T(x)^k \] 因为一个树是叶子结点或者其他树拼接成的"序列" \[ x = T(x) -\sum_{k \in S}T(x)^k = G(T(x)) \] 所以\(T(x)\)是\(G(x) =…
题目链接 题意 求满足如下条件的多叉树个数: 1.每一个点的儿子个数在给定的集合 \(S\) 内 2.总的叶子节点树为 \(s\) 儿子之间有顺序关系,但节点是没有标号的. Sol 拉格朗日反演板子题. (似乎不像是个反演) 拉格朗日反演: 用来求 复合逆. 如果两个多项式 \(F(x),G(x)\) 满足常数项均为 0,一次项均不为 0,并且 \(G(F(x))=x\),那么称 \(F(x)\) 与 \(G(x)\) 互为复合逆(其实就是反函数). 其中 \(F(x)\) 和 \(G(x)\)…
BZOJ 3684 大朋友和多叉树 Description 我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树.对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为1的结点是叶子结点:对于任一点权大于1的结点u,u的孩子数目deg[u]属于集合D,且u的点权等于这些孩子结点的点权之和. 给出一个整数s,你能求出根节点权值为s的神犇多叉树的个数吗?请参照样例以更好的理解什么样的两棵多叉树会被视为不同的. 我们只需要知道答案关于\(950009857\)(\…
题目描述 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个.小C认为,两个数列{Ai}和{Bi}不同,当且仅当至少存在一个整数i,满足Ai≠Bi.另外,小C认为这个问题的答案可能很大,因此他只需要你帮助他求出答案mod 1004535809的值…