题目分析

来自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. get/post 接口调用

    content-type:  application/~~~~~ /// <summary> /// Post数据到网站 /// </summary> /// <para ...

  2. mysql索引对单表查询的影响

    索引被用来快速找出在一个列上用一特定值的行.没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行.表越大,花费时间越多. 如果表对于查询的列有一个索引,MySQL能快速到达 ...

  3. 记一次线上Mysql数据库 宕机

    从发现问题,到最后解决一共消耗两个半小时(7:30~10:00),报警电话16通,警察坐镇,未完待续 ......

  4. Hadoop源码学习笔记(1) ——第二季开始——找到Main函数及读一读Configure类

    Hadoop源码学习笔记(1) ——找到Main函数及读一读Configure类 前面在第一季中,我们简单地研究了下Hadoop是什么,怎么用.在这开源的大牛作品的诱惑下,接下来我们要研究一下它是如何 ...

  5. 【SSH网上商城项目实战21】从Demo中看易宝支付的流程

         转自: https://blog.csdn.net/eson_15/article/details/51447492 这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后, ...

  6. I/O处理小练习--保存用户账号密码

    I/O处理小练习--保存用户账号密码 用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束 import java.io.*; public class Example { pu ...

  7. MySQL常见常用的SQL优化

    应尽量避免在where中使用!=或<>操作符.否则会进行全表查询 对于查询,避免全盘扫描,考虑在where或order by涉及到的列上建立索引 避免在where中进行null值判断,否则 ...

  8. C# 简单的loading提示控件

    自己画一个转圈圈的控件 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...

  9. LOJ6066:「2017 山东一轮集训 Day3」第二题

    传送门 二分答案 \(k\),考虑如何 \(hash\) 使得做起来方便 把每个点挂在 \(k+1\) 级祖先上,考虑在祖先上删除 这道题巧妙在于其可以对于 \(dfs\) 序/括号序列 \(hash ...

  10. 20个网页设计师应该学习的CSS3经典教程实例

    CSS3技术离我们越近,我们也应该学习一些简单的CSS3技术了,而学习最基本的方法就是模仿,以及观看大师作品的案例.收集了20个基础教程,均是涉及到css3应用范围,值得你和我一起共同学习. Smoo ...