妈妈我终于会这道题了!


设\(n\)个点的有根仙人掌个数的指数型生成函数(EGF)为\(F(x)\), 令\(f_i = [x^n]F(x)\)

对于\(f_i\), 我们考虑钦点\(1\)号点为根, 然后考虑与\(1\)相邻的是什么

  1. \(1\)不在环上: 对于这种情况, 我们可以发现与它相邻的还是一颗仙人掌, 于是它的生成函数还是\(F(x)\)

  2. \(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: 有标号荒漠计数的更多相关文章

  1. 题解 luogu P1144 【最短路计数】

    本蒟蒻也来发一次题解第一篇请见谅 这个题有几个要点 1.无向无权图,建图的时候别忘记建来回的有向边[因此WA掉1次 2.无权嘛,那么边长建成1就好了2333333 3.最短路采用迪杰斯特拉(别忘用堆优 ...

  2. 有标号DAG计数(生成函数)

    有标号DAG计数(生成函数) luogu 题解时间 首先考虑暴力,很容易得出 $ f[ i ] = \sum\limits_{ j = 1 }^{ i } ( -1 )^{ j - 1 } \bino ...

  3. 有标号DAG计数 [容斥原理 子集反演 组合数学 fft]

    有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DA ...

  4. P6295 有标号 DAG 计数

    P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\s ...

  5. [题解] Luogu P5446 [THUPC2018]绿绿和串串

    [题解] Luogu P5446 [THUPC2018]绿绿和串串 ·题目大意 定义一个翻转操作\(f(S_n)\),表示对于一个字符串\(S_n\), 有\(f(S)= \{S_1,S_2,..., ...

  6. 题解 有标号DAG计数

    题目传送门 题目大意 给出\(n\),求出对于任意\(t\in[1,n]\),点数为\(t\)的弱联通\(\texttt{DAG}\)个数.答案对\(998244353\)取模. \(n\le 10^ ...

  7. 洛谷 P6295 - 有标号 DAG 计数(生成函数+容斥+NTT)

    洛谷题面传送门 看到图计数的题就条件反射地认为是不可做题并点开了题解--实际上这题以我现在的水平还是有可能能独立解决的( 首先连通这个条件有点棘手,我们尝试把它去掉.考虑这题的套路,我们设 \(f_n ...

  8. 3194. 【HNOI模拟题】化学(无标号无根树计数)

    Problem 求\(n\)个点的每个点度数不超过\(4\)的无标号无根树个数. Data constraint \(1\le n\le 500\) Solution 尝试着把问题一般化.我们来考虑一 ...

  9. 题解 Luogu P2499: [SDOI2012]象棋

    关于这道题, 我们可以发现移动顺序不会改变答案, 具体来说, 我们有以下引理成立: 对于一个移动过程中的任意一个移动, 若其到达的位置上有一个棋子, 则该方案要么不能将所有棋子移动到最终位置, 要么可 ...

随机推荐

  1. 044、Java中逻辑运算之向左边移位2位实现功能

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  2. 一个有意思的html验证码: namesilo验证码

    买域名的时候看到的一个验证码,感觉蛮有意思的(https://www.namesilo.com/create_account.php),这个质感看上去就不一样: 查看页面源码,果然这个验证码是用htm ...

  3. 【剑指Offer】面试题32 - II. 从上到下打印二叉树 II

    题目 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回 ...

  4. [百度之星]资格赛:IP聚合

    保持着也不知道什么情怀,觉得到现在才能发出来.这道题做完之后看了其他人的代码,然后再看我的,不得不说,真是幼稚的很,尤其是输入这一块,都什么跟什么啊. 但相较于之前来说,不像以前慌张了,学会先思考再去 ...

  5. poj3405 Corporate Identity

    和上一个1226一样吧,这个还不用翻转 然而本蒟蒻还是写不对,WA一片天,不知道自己搞什么,自从去了长沙感觉就是坑啊 while(1) iq--; /*#include <cstdio> ...

  6. JQuery去实现校验用户名

    JQuery 是什么? javascript 的代码框架. 有什么用? 简化代码,提高效率. 核心 write less do more , 写得更少,做的更多. load //找到这个元素, 去执行 ...

  7. 七、JavaScript之console.log输出和document.write输出

    一.代码如下 二.运行效果如下 三.点击之后,效果如下 四.按一下F12,在控制台中可以看到

  8. 165-PHP 文本替换函数str_replace(六)

    <?php $str='programming'; //定义一个字符串 $replacement='er'; //定义替换的字符串 $res=substr_replace($str,$repla ...

  9. 控制台连接oracle11g报ORA-12560异常

    oracle11g R2 64bit oracleClient 11.2 32bit PL/SQL Developer 11.0.2 32bit 今天发现了一个奇怪的现象,如图: 后来发现机器上既有s ...

  10. 控制数据的小数位数 java / js

    //java一般控制格式都是通过 DecimalFormat 来控制的.下边是个例子. import java.text.DecimalFormat; public class ControlBit ...