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\)的点,所以我们钦定多少个出度为\( ...
随机推荐
- 深度为君剖析CTO、技术总监、首席架构师的区别
CTO.技术总监.首席架构师的区别 经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个 ...
- RabbitMQ---4、消息确认Ack
一:消费者确认 消费者确认或者说消费者应答指的是RabbitMQ需要确认消息到底有没有被收到 - 自动应答 boolean autoAck = true; channel.basicConsume(Q ...
- .net core mvc 类库读取配置文件
appsettings.json,给类库项目引入 Microsoft.Extensions.Configuration 和 Microsoft.Extensions.Configuration.J ...
- 六、yarn运行模式
简介 spark的yarn运行模式根据Driver在集群中的位置分成两种: 1)yarn-client 客户端模式 2)yarn-cluster 集群模式 yarn模式和standalone模式不同, ...
- Java实现进程调度算法(一) FCFS(先来先服务)
一.概述 因为这次os作业对用户在控制台的输入输出有要求,所以我花了挺多的代码来完善控制台的显示. 也因为我这次要实现多个类似算法,所以将一些共性单独提取出来作为一个类. 如果只想要和算法有关的核心代 ...
- Node.js如何找npm模板
首先需要去官网下载npm文件 https://www.npmjs.com/ 下载完成,使用CD查看是否安装完成 然后就是贴代码看npm模板的功能 var _ = require('underscore ...
- 原生javascript实现类似jquery on方法的行为监听
原生javascript有addEventListener和attachEvent方法来注册事件,但有时候我们需要判断某一行为甚至某一函数是否被执行了,并且能够获取前一行为的参数,这个时候就需要其他方 ...
- BZOJ2568 [国家集训队2012]比特集合
Description 比特集合是一种抽象数据类型(Abstract Data Type) ,其包含一个集合S,并支持如下几种操作: INS M : 将元素 M 插入到集合S中: DEL M : 将集 ...
- sdoi 2017 r1游记
第一次参加省选... 不过幸亏我参加过WC和THUWC,还是有些经验的. 经验就是:多拿部分分(不过话说我的部分分大部分都丢了). D1: 第一题没有预处理斐波那契数列的幂,算复杂度算错了...丢了4 ...
- JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布
JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布 研究了一年多的js,也差不多写一个自己的js库了.我写这个不算框架,只是一个小型的js工具 ...