以下方法都是按照这个套路:
考虑一个不一定连通的 DAG ,你枚举一些零度点(拓扑序第一层)集合 \(S\),这些点之间不能连边,这些点跟剩下点(点集为 \(T\),\(|S| \cup |T| = |V|\))的连边只能由 \(S \rightarrow T\),\(T\) 是一个 DAG。
但这样算会重复,因为没有考虑到其他 \(T\) 中的零度点,会算重,然而显然是二项式的容斥形式,带上容斥系数 \((-1)^{|S|+1}\) 即可。

有标号 DAG 图计数(不要求连通)

\(n\le 200000\)

Sol

根据上述即 \(f(n)=\sum_{i=1}^n (-1)^{i+1} {n\choose i}f(n-i)2^{i(n-i)}\),多项式求逆可以做到 \(O(nlogn)\)。

有标号 DAG 图计数(要求弱连通)

\(n\le 200000\)

Sol

根据集合与划分的关系设不一定连通的 DAG 的 EGF 为 F,设连通的 DAG 的 EGF 为 G,\(F=e^G\rightarrow G=\ln(F)\)

DAG 子图计数

给定 \(m\) 条边,每条边各有 \(\frac{1}{3}\) 的概率 \(u \rightarrow v\)、\(v \rightarrow u\) 或断开。
求这个图是 DAG 的概率,无重边无自环。

\(n\le 20,m\le n^2\)

Sol

状压 DP,\(dp_S=\sum_{T\subset S,T\ne \varnothing} (-1)^{|T|+1} dp_{S-T} P_1(S) P_2(S\rightarrow T)\),两个概率的式子都很容易写出来。
可以用子集卷积优化到 \(O(n^22^n)\)。

DAG 子图计数

你有一个 \(n\) 个节点的有向图,我们称一个合法的方案是将其中一些边的方向翻转之后使得剩下的图无环。
对于所有合法的方案,将方案中翻转方向的边的数量求和。

\(n\le 20\)

Sol

注意一个方案倒转后依然合法,那么这两个图的贡献和为 \(m\),我们可以直接计数 DAG 的数目。
状压 DP, 枚举第一层点转移,子集卷积优化 \(O(n^22^n)\)

DAG 计数的更多相关文章

  1. 有标号DAG计数 [容斥原理 子集反演 组合数学 fft]

    有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DA ...

  2. 有标号的DAG计数(FFT)

    有标号的DAG计数系列 有标号的DAG计数I 题意 给定一正整数\(n\),对\(n\)个点有标号的有向无环图(可以不连通)进行计数,输出答案\(mod \ 10007\)的结果.\(n\le 500 ...

  3. Comet Contest#11 F arewell(DAG计数+FWT子集卷积)

    传送门. 题解: 4月YY集训时做过DAG计数,和这个基本上是一样的,但是当时好像直接暴力子集卷积,不然我省选时不至于不会,这个就多了个边不选的概率和子集卷积. DAG计数是个套路来的,利用的是DAG ...

  4. COGS2356 【HZOI2015】有标号的DAG计数 IV

    题面 题目描述 给定一正整数n,对n个点有标号的有向无环图进行计数. 这里加一个限制:此图必须是弱连通图. 输出答案mod 998244353的结果 输入格式 一个正整数n. 输出格式 一个数,表示答 ...

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

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

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

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

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

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

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

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

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

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

  10. P6295 有标号 DAG 计数

    P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\s ...

随机推荐

  1. [Luogu]中位数

    Description Luogu1168 Solution 一种神奇的做法:开一个大根堆和小根堆,保证大根堆比小根堆多1个元素,且大根堆堆顶元素比小根堆堆顶元素小,那么大根堆堆顶就是中位数.插入的时 ...

  2. 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速

    前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...

  3. FLAG-回归C++,JAVA什么的等学校教吧

    以后刷OJ还是写C++,昂啊! 除非我觉得JAVA更好用

  4. 【译】通过 Rust 学习解析器组合器 — Part 1

    原文地址:Learning Parser Combinators With Rust 原文作者:Bodil 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gol ...

  5. pikaqiu练习平台(CSRF(跨站请求伪造) )

    CSRF(跨站请求伪造)   CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接 ...

  6. nginx配置访问黑名单-2

    在Nginx服务器上屏蔽IP 1.查找要屏蔽的ip awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n nginx.access.log ...

  7. wget 显示网页内容到控制台

    wget -q -O -  http://www.microsoft.com

  8. HTML5学习(3)元素

    HTML5元素周期表 详情见:http://www.xuanfengge.com/funny/html5/element/

  9. td标签内容:换行和不换行设置

    td标签内容:换行和不换行设置 固定td内容不换行:<td style="white-space:nowrap">内容</td>或<td nowrap ...

  10. .NTE Core Web API Example

    Source from :https://www.codeproject.com/Articles/1260600/Speed-up-ASP-NET-Core-WEB-API-application- ...