DAG 计数
以下方法都是按照这个套路:
考虑一个不一定连通的 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 计数的更多相关文章
- 有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DA ...
- 有标号的DAG计数(FFT)
有标号的DAG计数系列 有标号的DAG计数I 题意 给定一正整数\(n\),对\(n\)个点有标号的有向无环图(可以不连通)进行计数,输出答案\(mod \ 10007\)的结果.\(n\le 500 ...
- Comet Contest#11 F arewell(DAG计数+FWT子集卷积)
传送门. 题解: 4月YY集训时做过DAG计数,和这个基本上是一样的,但是当时好像直接暴力子集卷积,不然我省选时不至于不会,这个就多了个边不选的概率和子集卷积. DAG计数是个套路来的,利用的是DAG ...
- COGS2356 【HZOI2015】有标号的DAG计数 IV
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图进行计数. 这里加一个限制:此图必须是弱连通图. 输出答案mod 998244353的结果 输入格式 一个正整数n. 输出格式 一个数,表示答 ...
- COGS2355 【HZOI2015】 有标号的DAG计数 II
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 输入格式 一个正整数n 输出格式 一个数,表示答案 样例输入 3 样例输出 ...
- 【题解】有标号的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计数2
[HZOI 2015] 有标号的DAG计数 II \(I\)中DP只有一个数组, \[ dp_i=\sum{i\choose j}2^{j(i-j)}dp_{i-j}(-1)^{j+1} \] 不会. ...
- 【题解】有标号的DAG计数1
[HZOI 2015] 有标号的DAG计数 I 设\(f_i\)为\(i\)个点时的DAG图,(不必联通) 考虑如何转移,由于一个DAG必然有至少一个出度为\(0\)的点,所以我们钦定多少个出度为\( ...
- P6295 有标号 DAG 计数
P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\s ...
随机推荐
- 高端OLED电视成行业突破口,苏宁助力显示技术市场迭代
编辑 | 于斌 出品 | 于见(mpyujian) 在电商与线上渠道越来越占据举足轻重地位的年代,电商平台巨头们越来越有底气喊出"推动行业技术升级"的口号.的确,再好的技术升级也需 ...
- Oracle用户权限授权以及索引、同义词、分区
本文为原创,如需转载,请标明出处 http://www.cnblogs.com/gudu1/p/7601765.html ---- 用户权限 1.创建表空间 (创建用户之前需要创建表空间和临时表空间, ...
- java List 排序,升序,降序
import java.util.*; public class EntrySets { public static void main(String[] args) { Map<Object, ...
- PLSQL Developer12注册码
product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number:226959 password: xs374ca 绝对靠谱
- AcWing 794. 高精度除法
https://www.acwing.com/problem/content/796/ #include<bits/stdc++.h> using namespace std; // A/ ...
- Codeforces Round #619 (Div. 2)C(构造,容斥)
#define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; int main(){ ios::syn ...
- go基础_定时器
每间隔5s打印一句hello // time_ticker package main import ( "fmt" "time" ) func main() { ...
- mongo shell远程连接使用数据库
mongo mydb --username user1 --host --password --username 用户名 --host 连接ip --port 连接端口号 --password 密码 ...
- 公有IP和私有IP的区别
什么是IP? 在网络中,每台计算机都有一个唯一的地址,方便别人找到它,这个地址称为IP地址 IP地址是一个网络编码,用来确定网络中的一个节点,是由32位的二进制组成 IP地址的组成? IP地址由网络部 ...
- lamp与zabbix开机自启
目录 1.控制httpd脚本 2.控制zabbix_server脚本 3.控制zabbix_agentd脚本 4.服务端lamp开机自动启动 5.客户端zabbix_agentd开机自动启动 1.控制 ...