cogs 2355. [HZOI 2015] 有标号的DAG计数 II
题目分析
来自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的更多相关文章
- COGS 2396 2397 [HZOI 2015]有标号的强连通图计数
题意:求n个点有向图其中SCC是一个的方案数 考虑求出若干个不连通的每个连通块都是SCC方案数然后再怎么做一做.(但是这里不能用Ln,因为推不出来) 设$f_n$为答案, $g_n$为n个点的有向图, ...
- 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 ...
- COGS2355 【HZOI2015】 有标号的DAG计数 II
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 输入格式 一个正整数n 输出格式 一个数,表示答案 样例输入 3 样例输出 ...
- cogs [HZOI 2015]有标号的二分图计数
题目分析 n个点的二分染色图计数 很显然的一个式子 \[ \sum_{i=0}^n\binom{n}{i}2^{i(n-i)} \] 很容易把\(2^{i(n-i)}\)拆成卷积形式,前面讲过,不再赘 ...
- 有标号的DAG计数 II
Description 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 Solution 考虑 \(O(n^2)\) DP 枚举出度为 \( ...
- 【题解】有标号的DAG计数2
[HZOI 2015] 有标号的DAG计数 II \(I\)中DP只有一个数组, \[ dp_i=\sum{i\choose j}2^{j(i-j)}dp_{i-j}(-1)^{j+1} \] 不会. ...
- 【题解】有标号的DAG计数4
[HZOI 2015] 有标号的DAG计数 IV 我们已经知道了\(f_i\)表示不一定需要联通的\(i\)节点的dag方案,考虑合并 参考[题解]P4841 城市规划(指数型母函数+多项式Ln),然 ...
- 【题解】有标号的DAG计数3
[HZOI 2015] 有标号的DAG计数 III 我们已经知道了\(f_i\)表示不一定需要联通的\(i\)节点的dag方案,考虑合并 参考[题解]P4841 城市规划(指数型母函数+多项式Ln), ...
- 【题解】有标号的DAG计数1
[HZOI 2015] 有标号的DAG计数 I 设\(f_i\)为\(i\)个点时的DAG图,(不必联通) 考虑如何转移,由于一个DAG必然有至少一个出度为\(0\)的点,所以我们钦定多少个出度为\( ...
随机推荐
- [SQL Server] 无法连接到本地数据库
打开SQL Server配置管理器 启用下图两个协议 打开SQL Server服务 这一步可能出现这种情况: 故障原因是,安装Visual Studio 2012的时候,自动安装“Microsoft ...
- Label控件
文本控件包含标签控件(label).按钮控件(button).文本框控件(textBox)和有格式文本控件(richtextBox) Label控件可以说是最简单的控件,是System.windo ...
- Debian - 安装随记
为什么要突然换个操作系统? 之前使用的是Lubuntu,可见硬件非常糟糕. 更糟糕的是Lubuntu被玩坏了,很多程序不能正常运行. 于是打算换Debian + XFCE. 随手记录一下遇到的一些坑, ...
- HTML骨架详解
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 认识Groovy
什么是groovy: Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同. 在编写新应用 ...
- PowerDesigner16导出SQL时如何添加注释
添加注释方法 https://jingyan.baidu.com/article/47a29f24652e44c0142399c3.html 重点是修改value的值 alter table [%QU ...
- 第九天- 文件操作 r w a 文件复制/修改
文件操作简介:使用python来读写文件是非常简单的操作.我们使用 open() 函数来打开一个文件,获取到文件句柄.然后通过文件句柄就可以进行各种各样的操作了.根据打开⽅方式的不同能够执行的操作也会 ...
- 1083 Cantor表
题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/ ...
- vs code上配置Scala
转自:https://www.cnblogs.com/steven-yang/p/5852988.html 百度的结果表达太奇怪,简单记一笔. 1.下载一个scala的压缩包,https://www. ...
- C++学习笔记(6)----基类和派生类的构造函数和析构函数的执行顺序
基类和派生类:构造函数和析构函数的执行顺序 在Visual Studio中,新建控制台工程,构造类如下: #include<iostream> using namespace std; c ...