有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DAG(可以不连通)的个数.\(n \le 5000\) 2013年王迪的论文很详细了 感觉想法很神,自己怎么想到啊? 首先要注意到DAG中一类特殊的点:入度为0的点.以这些点来分类统计 先是一种\(O(N^3)\)的dp, \(d(i,j)\) i个点j个入度为0,转移枚举去掉j个后入度为0点的个数,…
P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\sum_{j=1}^i\binom ij(-1)^{j-1}f(i-j)2^{j(i-j)} \] 意义为选至少 \(j\) 个度数为零的点,向剩下的 \(i-j\) 个点随便连有向边,容斥一下就得到了上式. 下面进行推导.根据一个 trick: \[j(i-j)=\binom i2-\binom j…
有标号DAG计数(生成函数) luogu 题解时间 首先考虑暴力,很容易得出 $ f[ i ] = \sum\limits_{ j = 1 }^{ i } ( -1 )^{ j - 1 } \binom{ i }{ j } 2^{ j( i - j ) } f[ i-j ] $ . 相当于枚举度数为0的节点的个数,向不在这个集合里的点任意连边,之后需要容斥. 考虑如何优化. $ j(i-j) = \frac{ i^{ 2 } }{ 2 } - \frac{ j^{ 2 } }{ 2 } - \f…
传送门. 题解: 4月YY集训时做过DAG计数,和这个基本上是一样的,但是当时好像直接暴力子集卷积,不然我省选时不至于不会,这个就多了个边不选的概率和子集卷积. DAG计数是个套路来的,利用的是DAG中入度为0的点. 设\(f[S]\)表示只考虑s里的点的诱导子图形成DAG的方案数. 枚举一个\(T|S~\and~T=\empty\),这个T就是新的图中度数为0的点,首先它们之间要没有边,然后\(T\)和\(S\)间的边要么没有,要么都由\(T->S\),记\(cnt[S]\)表示S里的边数,这…
洛谷题面传送门 看到图计数的题就条件反射地认为是不可做题并点开了题解--实际上这题以我现在的水平还是有可能能独立解决的( 首先连通这个条件有点棘手,我们尝试把它去掉.考虑这题的套路,我们设 \(f_n\) 表示 \(n\) 个点的有标号 DAG 个数,\(g_n\) 表示 \(n\) 个点的有标号且弱联通的 DAG 个数,那么根据 \(\exp\) 式子的计算方式我们可以列出 \(f,g\) 生成函数之间的 exp 关系,又因为这题带标号,所以有: Trick 1. 对于有标号图连通图计数问题,…
题目传送门 题目大意 给出\(n\),求出对于任意\(t\in[1,n]\),点数为\(t\)的弱联通\(\texttt{DAG}\)个数.答案对\(998244353\)取模. \(n\le 10^5\) 思路 看到\(\texttt{Karry5307}\)的题解里面有很多小问题(但这并不影响\(\texttt {Karry AK IOI}\)),这里给一篇可能没有什么错误的题解. 我们发现直接求似乎不是很好求,我们发现弱连通图组合在一起的话,就相当于一个不保证联通的\(\texttt{DA…
正题 题目链接:https://www.luogu.com.cn/problem/P6295 题目大意 求所有\(n\)个点的弱联通\(DAG\)数量. \(1\leq n\leq 10^5\) 解题思路 先不考虑弱联通的限制,求\(n\)个点的\(DAG\)数量. 设为\(f_i\),那么有式子 \[f_n=\sum_{i=1}^{n}\binom{n}{i}2^{i(n-i)}f_{n-i}(-1)^{i+1} \] 这个式子的意思是说新建一层出度为\(0\)的点,\(\binom{n}{i…
[HZOI 2015] 有标号的DAG计数 I 设\(f_i\)为\(i\)个点时的DAG图,(不必联通) 考虑如何转移,由于一个DAG必然有至少一个出度为\(0\)的点,所以我们钦定多少个出度为\(0\)的点转移. 考虑如何保证没有环,钦定完出度为\(0\)的点后,这些点就等着被连接了.还剩下一些点,这些点只要不构成环就好了,就是个子结构,访问以前的DP数组就好了. \[ {i\choose j}2^{j\times (i-j)}dp_{i-j} \] 这样转移显然有方案重复的情况,因为如此计…
有标号的DAG计数系列 有标号的DAG计数I 题意 给定一正整数\(n\),对\(n\)个点有标号的有向无环图(可以不连通)进行计数,输出答案\(mod \ 10007\)的结果.\(n\le 5000\) 题解 显然是\(O(n^2)\)来做. 设\(f(i)\)表示\(i\)个点有标号的有向无环图的个数.而\(DAG\)中的特殊点显然只有两种,要么是出度为\(0\),要么入度为\(0\).随便枚举哪一种都行,这里枚举入度为\(0\)的点. 那么得到式子: \[f(n)=\sum_{i=1}^…
题目分析 来自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…