题目分析

来自2013年王迪的论文《浅谈容斥原理》

设\(f_{n,S}\)表示n个节点,入度为0的点集恰好为S的方案数。

设\(g_{n,S}\)表示n个节点,入度为0的点集至少为S的方案数。

对于\(g_{n,S}\),有递推式
\[
g_{n,S}=2^{|S|(n-|S|)}g_{n-|S|,\emptyset}
\]

f与g有如下关系
\[
g_{n,S}=\sum_{S\subseteq T}f_{n,T}
\]

子集反演一下
\[
f_{n,S}=\sum_{S\subseteq T}(-1)^{|T|-|S|}g_{n,T}
\]

我们要求的答案即为
\[
\begin{split}
g_{n,\emptyset}&=\sum_{|S|=1}^nf_{n,S}\\
&=\sum_{|S|=1}^n\sum_{S\subseteq T}(-1)^{|T|-|S|}g_{n,T}\\
&=\sum_{|S|=1}^n\sum_{S\subseteq T}(-1)^{|T|-|S|}2^{|T|(n-|T|)}g_{n-|T|,\emptyset}\\
&=\sum_{i=1}^n\binom{n}{i}\sum_{j=i}^n\binom{n-i}{j-i}(-1)^{j-i}2^{j(n-j)}g_{n-j,\emptyset}\\
&=\sum_{j=1}^n2^{j(n-j)}g_{n-j,\emptyset}\sum_{i=1}^j\binom{n}{i}\binom{n-j}{j-i}(-1)^{j-i}\\
&=\sum_{j=1}^n(-1)^j\binom{n}{j}2^{j(n-j)}g_{n-j,\emptyset}\sum_{i=1}^j\binom{j}{i}(-1)^i\\
&=\sum_{j=1}^n(-1)^j\binom{n}{j}2^{j(n-j)}g_{n-j,\emptyset}(\left[j=0\right]-1)\\
&=\sum_{j=1}^n(-1)^{j+1}\binom{n}{j}2^{j(n-j)}g_{n-j,\emptyset}\\
&=n!\sum_{j=1}^n2^{j(n-j)}\frac{(-1)^{j+1}}{j!}\frac{g_{n-j,\emptyset}}{(n-j)!}
\end{split}
\]

很像一个卷积的形式了,但是怎么搞\(2^{j(n-j)}\)呢?

一个套路
\[
\begin{split}
2^{k(n-k)}&=\sqrt{2}^{2kn-2k^2}\\
&=\sqrt{2}^{-n^2+2kn-k^2-k^2+n^2}\\
&=\sqrt{2}^{n^2-k^2-(n-k)^2}\\
&=\frac{\sqrt{2}^{n^2}}{\sqrt{2}^{k^2}\sqrt{2}^{(n-k)^2}}
\end{split}
\]

这样就构造出了卷积形式。

所以
\[
\begin{split}
\frac{g_{n,\emptyset}}{n!\sqrt{2}^{n^2}}&=\sum_{j=1}^n\frac{(-1)^{j+1}}{j!\sqrt{2}^{j^2}}\frac{g_{n-j,\emptyset}}{(n-j)!\sqrt{2}^{(n-j)^2}}
\end{split}
\]

构造生成函数
\[
F(x)=\sum_{i=1}\frac{g_{i,\emptyset}}{i!\sqrt{2}^{i^2}}x^i\\
G(x)=\sum_{i=1}\frac{(-1)^{i+1}}{i!\sqrt{2}^{i^2}}
\]


\[
\begin{split}
F&=F*G+1\\
&={1\over1-G}
\end{split}
\]

多项式求逆即可。

cogs 2355. [HZOI 2015] 有标号的DAG计数 II的更多相关文章

  1. COGS 2396 2397 [HZOI 2015]有标号的强连通图计数

    题意:求n个点有向图其中SCC是一个的方案数 考虑求出若干个不连通的每个连通块都是SCC方案数然后再怎么做一做.(但是这里不能用Ln,因为推不出来) 设$f_n$为答案, $g_n$为n个点的有向图, ...

  2. COGS 2353 2355 2356 2358 有标号的DAG计数

    不用连通 枚举入度为0的一层 卷积 发现有式子: 由$n^2-i^2-(n-i)^2=2*i*(n-i)$ 可得$2^{i*(n-i)}=\frac{{\sqrt 2}^{(n^2)}}{{\sqrt ...

  3. COGS2355 【HZOI2015】 有标号的DAG计数 II

    题面 题目描述 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 输入格式 一个正整数n 输出格式 一个数,表示答案 样例输入 3 样例输出 ...

  4. cogs [HZOI 2015]有标号的二分图计数

    题目分析 n个点的二分染色图计数 很显然的一个式子 \[ \sum_{i=0}^n\binom{n}{i}2^{i(n-i)} \] 很容易把\(2^{i(n-i)}\)拆成卷积形式,前面讲过,不再赘 ...

  5. 有标号的DAG计数 II

    Description 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 Solution 考虑 \(O(n^2)\) DP 枚举出度为 \( ...

  6. 【题解】有标号的DAG计数2

    [HZOI 2015] 有标号的DAG计数 II \(I\)中DP只有一个数组, \[ dp_i=\sum{i\choose j}2^{j(i-j)}dp_{i-j}(-1)^{j+1} \] 不会. ...

  7. 【题解】有标号的DAG计数4

    [HZOI 2015] 有标号的DAG计数 IV 我们已经知道了\(f_i\)表示不一定需要联通的\(i\)节点的dag方案,考虑合并 参考[题解]P4841 城市规划(指数型母函数+多项式Ln),然 ...

  8. 【题解】有标号的DAG计数3

    [HZOI 2015] 有标号的DAG计数 III 我们已经知道了\(f_i\)表示不一定需要联通的\(i\)节点的dag方案,考虑合并 参考[题解]P4841 城市规划(指数型母函数+多项式Ln), ...

  9. 【题解】有标号的DAG计数1

    [HZOI 2015] 有标号的DAG计数 I 设\(f_i\)为\(i\)个点时的DAG图,(不必联通) 考虑如何转移,由于一个DAG必然有至少一个出度为\(0\)的点,所以我们钦定多少个出度为\( ...

随机推荐

  1. [译]用R语言做挖掘数据《一》

    介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...

  2. sdfsdfsdf

    i- i- i-1i- i- i- i- i- i-

  3. WPF实现动画的几种方式及其小案例

    WPF实现动画的方式: 基于计时器的动画 建立一个定时器,然后根据其频率循环调用函数或者一个事件处理函数,在这个函数中可以手工更新目标属性,直到达到最终值,这时可以停止计时器. 案例: 效果图: XA ...

  4. layui使用 ——父,子页面传值

    页面传值是非常常用的,layui自带弹窗功能,但是内置使用的是location.href 暂时没找到方法条件请求头,所以在后台需要放开拦截器, layer.open({ type : 2, title ...

  5. CentOS 安装Parallels Tools

    为了做到Mac和Linux之间共享文件夹,因此需要安装Parallels Tool, 具体安装步骤可以参考 install parallels tool for linux guest http:// ...

  6. CentOS-Linux系统下安装Tomcat

    步骤1:解压Tomcat 命令: unzip apache-tomcat-8.5.20.zip 步骤2:将tomcat 移动到“/usr/local/src/java/tomcat8.5”下并重命名 ...

  7. C#画个控件,指定字符特殊颜色显示

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. csharp:FlowLayoutPanel

    /// <summary> /// 集合添加的控件 /// 涂聚文20150339 /// </summary> public void AddNewTextBox() { P ...

  9. web 开发人员必须学习的 3 门语言

    web 开发人员必须学习的 3 门语言:html  css  js HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为

  10. [HNOI2006]最短母串问题

    题目大意:给定一个字符串集,求一个最短字串,使得该集合内的串都是该串的一个子串 算法:AC自动机+最短路+状压DP 注意空间限制 #include"cstdio" #include ...