题解 Luogu P5434: 有标号荒漠计数
妈妈我终于会这道题了!
设\(n\)个点的有根仙人掌个数的指数型生成函数(EGF)为\(F(x)\), 令\(f_i = [x^n]F(x)\)
对于\(f_i\), 我们考虑钦点\(1\)号点为根, 然后考虑与\(1\)相邻的是什么
\(1\)不在环上: 对于这种情况, 我们可以发现与它相邻的还是一颗仙人掌, 于是它的生成函数还是\(F(x)\)
\(1\)不在环上: 对于这种情况, 我们考虑环的大小\(i\), 那么去除点\(1\), 它的生成函数就是\(F^i(x)\), 但是考虑到对称的情况不可取, 实际上它的生成函数是\(\frac{F^i(x)}{2}\)
由于点边随意排列均可, 于是有贡献为\(\exp(F(x) + \frac{1}{2}\sum\limits_{i \geq 2}F^i(x))\)
考虑上根, 应该有
\([x^n]F(x) = [x^{n-1}](\exp(F(x)+\frac{1}{2}\sum\limits_{i \geq 2}F^i(x))) \times n\)
于是有
\(F(x) = x\; \exp(F(x) + \frac{1}{2}\sum\limits_{i \geq 2}F^i(x))\)
发现\(\frac{1}{2}\sum\limits_{i \geq 2}F^i(x) = \frac{F^2(x)}{2-2F(x)}\)
\(F(x) = x\; \exp(\frac{2F(x)-F^2(x)}{2-2F(x)})\)
接下来我们考虑直接搞一个牛顿迭代, 设\(G(F(x)) = x\; \exp(\frac{2F(x)-F^2(x)}{2-2F(x)}) - F(x)\)
接下来我们有
\(F_n(x) = F_{n-1}(x) - \frac{G(F_n(x))}{G'(F_n(x))}\)
于是我们爆算得到
\(F_n(x) = F_{n-1}(x) - \frac{2x\; \exp(\frac{2F(x)-F^2(x)}{2-2F(x)}) - 2F(x)}{x(1+\frac{1}{(F(x)-1)^2})\; \exp(\frac{2F(x)-F^2(x)}{2-2F(x)})-2}\)
在算出来\(F(x)\)后, 注意到我们F(x)的定义是有根仙人掌个数的指数型生成函数, 为了将其变成无根的, 我们令\([x^n]F(x) \leftarrow [x^n]F(x) \times \frac{1}{n}\)
接下来我们将其变成荒漠, 这一步我们将\(F(x) \leftarrow \exp(F(x))\)即可, 为什么这么是正确的, 我们考虑将\(\exp(F(x))\)展开, 有
\(\exp(F(x)) = \sum\limits{i \geq 0} \frac{F^i(x)}{i!}\), 考虑组合意义, 有\([x^n]F^i(x)\)的意义为选出\(n\)颗仙人掌并排序得到的, 为了消序除以\(n!\)即可
然后就是一道多项式板子题了qwq!
题解 Luogu P5434: 有标号荒漠计数的更多相关文章
- 题解 luogu P1144 【最短路计数】
本蒟蒻也来发一次题解第一篇请见谅 这个题有几个要点 1.无向无权图,建图的时候别忘记建来回的有向边[因此WA掉1次 2.无权嘛,那么边长建成1就好了2333333 3.最短路采用迪杰斯特拉(别忘用堆优 ...
- 有标号DAG计数(生成函数)
有标号DAG计数(生成函数) luogu 题解时间 首先考虑暴力,很容易得出 $ f[ i ] = \sum\limits_{ j = 1 }^{ i } ( -1 )^{ j - 1 } \bino ...
- 有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DA ...
- P6295 有标号 DAG 计数
P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\s ...
- [题解] Luogu P5446 [THUPC2018]绿绿和串串
[题解] Luogu P5446 [THUPC2018]绿绿和串串 ·题目大意 定义一个翻转操作\(f(S_n)\),表示对于一个字符串\(S_n\), 有\(f(S)= \{S_1,S_2,..., ...
- 题解 有标号DAG计数
题目传送门 题目大意 给出\(n\),求出对于任意\(t\in[1,n]\),点数为\(t\)的弱联通\(\texttt{DAG}\)个数.答案对\(998244353\)取模. \(n\le 10^ ...
- 洛谷 P6295 - 有标号 DAG 计数(生成函数+容斥+NTT)
洛谷题面传送门 看到图计数的题就条件反射地认为是不可做题并点开了题解--实际上这题以我现在的水平还是有可能能独立解决的( 首先连通这个条件有点棘手,我们尝试把它去掉.考虑这题的套路,我们设 \(f_n ...
- 3194. 【HNOI模拟题】化学(无标号无根树计数)
Problem 求\(n\)个点的每个点度数不超过\(4\)的无标号无根树个数. Data constraint \(1\le n\le 500\) Solution 尝试着把问题一般化.我们来考虑一 ...
- 题解 Luogu P2499: [SDOI2012]象棋
关于这道题, 我们可以发现移动顺序不会改变答案, 具体来说, 我们有以下引理成立: 对于一个移动过程中的任意一个移动, 若其到达的位置上有一个棋子, 则该方案要么不能将所有棋子移动到最终位置, 要么可 ...
随机推荐
- Word 写论文的一些教训和经验
参考文献 写正文时就在引用位置添加参考文献的title,写完后,在百度学术或谷歌学术中搜索参考文献获取GB/T 7714的参考格式,在参考文献的章节为文献编号,在引用位置插入交叉引用. 插图 可以先在 ...
- VMWare 禁用vmem虚拟内存文件
使用 VMWare 虚拟机,虚拟机启动后,会在虚拟机目录下建立一个与虚拟内存大小相同的 .vmem文件 这个文件主要是将虚拟机内存的内容映射到磁盘,以支持在虚拟机的暂停等功能 对所有的虚拟机" ...
- Linux基础之防火墙
Linux基础之防火墙 Iptables 最初认识iptables还是在安卓手机上玩tiny的时候知道的,什么扫地僧.Jume等防跳脚本都基于iptables原理,一直觉得iptables的命令很 ...
- 一道算法题加深我对C++中map函数的理解
一.一道题目引发我对map函数的考量 首先是题目大意:有n个银行,a[i]表示这个人在第i个银行有a[i]块钱(可以是负数),所有银行的钱加起来正好是0.每次只能在相邻的银行之间转账,问最少要转多少次 ...
- java 循环节长度
循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153- 其循环节为[846153] 共有6位. 下面的方法,可以求出循环 ...
- wireshark混杂模式
来自:https://blog.csdn.net/mukami0621/article/details/78645825 通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主 ...
- 139-PHP static后期静态绑定(二)
<?php class test{ //创建test类 public function __construct(){ static::getinfo(); //后期静态绑定 } public s ...
- Golang modules包依赖管理工具
初始化 执行go mod init module-name,其中module-name为包名字,执行完后会生成go.mod文件,如下 module module-name go 1.13 包管理 使 ...
- 如何下载安装python安装包
1.从360搜索python,找到“python官网” python官网地址:https://www.python.org/ 2.进入python官网,出现下面的页面 3.点 ...
- Java中的super关键字和this关键字作用介绍
一.super关键字的作用 1.子类在构造方法中显示调用父类构造方法 super可以在子类的构造方法中显示调用父类的构造方法:并且这行代码必须出现在子类构造方法的第一行.原因:因为父类构造方法没有执行 ...