题目大意:

给定 \(m\) 棵无向树\(\left\{T_{1}=\left(V_{1}, E_{1}\right), T_{2}=\left(V_{2}, E_{2}\right), \cdots, T_{m}=\left(V_{m}, E_{m}\right)\right\}\)构成的森林。定义无向边集\(E^\ast = \left\{ \left( u, v \right) \mid u \in V_i, v \in V_j, i \neq j \right\}\).令 \(G=(V,E)\),其中 $ V = V_1 \cup V_2 \cup \cdots \cup V_m, E = E_1 \cup E_2 \cup \cdots \cup E_m \cup E^\ast$ .

你需要求出 $G $ 的 Hamilton 回路的数量。

对于每一颗树,先求出 \(ways_i\) 表示在这颗树上选出 \(i\) 条链的方案数。

现在的问题就是要把若干条链拼成一个环,同色不相邻。

先破环成链。对于一颗树,他的指数生成函数是 \(\sum_{i=1}^{n} f_i i! \sum_{j=0}^{i} (-1)^{j} \binom {i - 1} {j} \frac {x^{i-j}} {(i-j)!}\) ,成链答案就是若干个卷起来,成环的话最后还要减去首尾同色的答案。

review

本题中的指数生成函数又称"带容斥系数的生成函数",其关键是考虑广义的二项式反演 $ F(n,m) = \sum_{i,j} (-1)^{n-i+m-j} G(i,j)$ ,正确性可以不断的套一维的二项式反演.

与其类似的,设 $G(n_k) $ 为长度为 $ n $ 的排列,方案数是 $ \frac {n!} {n_1! n_2! .. n_k!} $ ,这一部分用 egf 就可以解决了.再考虑前面的系数,枚举与第一个位置相邻的同色联通块大小,算上此时的贡献.注意为 $ (-1)^{j} $ ,因为当 $ j = 0 $ 时候,贡献是正的,意义是不限制随便排列.

再考虑如何从 $ Seq $ 推到 $ Cyc $ ,对于长度为 $ len $ 的环,在容斥的时候一个合法的方案对应 $ len $ 个 $ Seq $ 的方案,对应位置除以 $ len $ 就可以了. (考虑 $ Seq_k $ 和 $ Cyc_k $ 对应位置的系数).

也可以直接在生成函数里面减去钦定头尾相同的贡献.

loj 3102的更多相关文章

  1. Loj #3102. 「JSOI2019」神经网络

    Loj #3102. 「JSOI2019」神经网络 题目背景 火星探险队发现,火星人的思维方式与人类非常不同,是因为他们拥有与人类很不一样的神经网络结构.为了更好地理解火星人的行为模式,JYY 对小镇 ...

  2. 【LOJ】#3102. 「JSOI2019」神经网络

    LOJ#3102. 「JSOI2019」神经网络 首先我们容易发现就是把树拆成若干条链,然后要求这些链排在一个环上,同一棵树的链不相邻 把树拆成链可以用一个简单(但是需要复杂的分类讨论)的树背包实现 ...

  3. [Noi2016]区间 BZOJ4653 洛谷P1712 Loj#2086

    额... 首先,看到这道题,第一想法就是二分答案+线段树... 兴高采烈的认为我一定能AC,之后发现n是500000... nlog^2=80%,亲测可过... 由于答案是求满足题意的最大长度-最小长 ...

  4. Loj #2192. 「SHOI2014」概率充电器

    Loj #2192. 「SHOI2014」概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: 「采用全新纳米级加工技术,实现元件与导线能否通电完 ...

  5. Loj #3096. 「SNOI2019」数论

    Loj #3096. 「SNOI2019」数论 题目描述 给出正整数 \(P, Q, T\),大小为 \(n\) 的整数集 \(A\) 和大小为 \(m\) 的整数集 \(B\),请你求出: \[ \ ...

  6. Loj #3093. 「BJOI2019」光线

    Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ...

  7. Loj #3089. 「BJOI2019」奥术神杖

    Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ...

  8. Loj #2542. 「PKUWC2018」随机游走

    Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次 ...

  9. Loj #2331. 「清华集训 2017」某位歌姬的故事

    Loj #2331. 「清华集训 2017」某位歌姬的故事 IA 是一名会唱歌的女孩子. IOI2018 就要来了,IA 决定给参赛选手们写一首歌,以表达美好的祝愿.这首歌一共有 \(n\) 个音符, ...

随机推荐

  1. 数据建模工具------EZMNL

    表结构设计器(EZDML) 表结构设计器EZDML1.5新版本发布,比以前介绍的1.2版本改进了很多,因此重新写了个介绍. 表结构设计,即所谓的数据建模,目前大家常用的同类著名工具有PowerDesi ...

  2. Centos 7 添加开机启动

    1.添加启动服务 添加docker开机启动服务 [root@localhost ~]# systemctl enable docker.serviceCreated symlink from /etc ...

  3. C#中的Process类使用

    有时候,用户在进行某个操作时,程序运行到某个阶段突然崩溃,我们需要让程序自动重启,重新执行用户之前的操作,当发现主程序还存在,就重启用户执行的附加程序.这时候Process就派上了用场. 控制台测试用 ...

  4. python BeautifulSoup4--例子

    from bs4 import BeautifulSoup import requests import re #请求博客园首页 r=requests.get('http://www.cnblogs. ...

  5. CentOS 7 - 里面如何以root身份使用图形界面管理文件?

    nautilus 是gnome的文件管理器,但是如果不是root账号下,权限受限,我们可以通过以下方式以root权限使用! 启动shll,随后在shell里面输入下面命令: sudo nautilus

  6. pillow安装出错的解决办法

    apt-get install python3-dev python3-setuptools libtiff5-dev zlib1g-dev libfreetype6-dev liblcms2-dev ...

  7. python基础-生成器

    生成器 概念:但凡在函数内部定义了一个yield,调用函数时,函数体代码不会执行,会返回一个结果,该结果就是生成器.本质上是迭代器,一个自定义的迭代器. # python内获取迭代器的方式 def i ...

  8. TypeScript_泛型

    typescript 中很多地方都和 java 和 C# 相似,如果 有 java 和 C# 的同学入手typeScript 会简单很多, 下面这里使用代码来表示和展现泛型的定义和使用 //泛型:在类 ...

  9. (比赛)C - 小Q系列故事——最佳裁判(水题)

    C - 小Q系列故事——最佳裁判 Time Limit:200MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Des ...

  10. python(if判断)

    一.if判断 如果 条件满足,才能做某件事情, 如果 条件不满足,就做另外一件事情,或者什么也不做 注意: 代码的缩进为一个 tab 键,或者 4 个空格 在 Python 开发中,Tab 和空格不要 ...