题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3456 题意: 求出\(n\)个点的简单(无重边无自环)无向连通图的个数.(\(n<=130000\)). 并且输出方案数mod \(1004535809(479 * 2 ^ {21} + 1)\). 题解: 这题是POJ 1737的加强版. 从之前写过的题解中: POJ 1737 Connected Graph 我们知道存在这样的递推式: \[f[n]=2^{C(n,2)}-\sum…
题面 求有 \(n\) 个点的无向有标号连通图个数 . \((1 \le n \le 1.3 * 10^5)\) 题解 首先考虑 dp ... 直接算可行的方案数 , 容易算重复 . 我们用总方案数减去不可行的方案数就行了 (容斥) 令 \(f_i\) 为有 \(i\) 个点的无向有标号连通图个数 . 考虑 \(1\) 号点的联通块大小 , 联通块外的点之间边任意 但 不能与 \(1\) 有间接联系 . 那么就有 \[\displaystyle f_i = 2^{\binom i 2} - \s…
传送门 解题思路 这道题就是求带标号的无向连通图个数,首先考虑\(O(n^2)\)的做法,设\(f_i\)表示有\(i\)个节点的无向连通图个数,那么考虑容斥,先把所有的无向图求出,即为\(2^{C(n,2)}\),再减去不联通的情况,而计算不联通情况时可以枚举\(1\)号点这个联通块的大小,就有方程 \[f_i=2^{C_i^2}-\sum\limits_{j=1}^{i-1}C_{i-1}^{j-1}2^{C^2_{i-j}}f_j\] 发现这样的时间复杂度为\(O(n^2)\)的,无法通过…
[题意]求n个点的带标号无向连通图个数 mod 1004535809.n<=130000. [算法]动态规划+多项式求逆 [题解]设$g_n$表示n个点的无向图个数,那么显然 $$g_n=2^{\frac{n(n-1)}{2}}$$ 设$f_n$表示n个点的无向连通图个数,通过枚举1号点所属连通块大小很容易得到$g_n$的等式: $$g_n=\sum_{i=1}^{n}\binom{n-1}{i-1}*f_i*g_{n-i}$$ 特别的,$g_0=1$. 将组合数拆分一下,即可得到: $$\fr…
题目描述 求出n个点的简单(无重边无自环)无向连通图数目mod 1004535809(479 * 2 ^ 21 + 1). 输入 仅一行一个整数n(<=130000) 输出 仅一行一个整数, 为方案数 mod 1004535809. 样例输入 3 样例输出 4 题解 容斥原理+NTT+多项式求逆 设 $f_i$ 表示 $i$ 个点的简单无向连通图的数目,$g_i$ 表示 $i$ 个点的简单无向图的数目. 根据定义得 $g_i=2^{\frac{n(n-1}2}$ . 对于 $f_i$ ,考虑容斥…
3456: 城市规划 Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 658  Solved: 364 Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通. 为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两个建立路线的方案, 如果存在一个城市对, 在两个方案中是否建立路线不一…
题解 在我写过分治NTT,多项式求逆之后 我又一次写了多项式求ln 我们定义一个数列的指数型生成函数为 \(\sum_{i = 0}^{n} \frac{A_{i}}{i!} x^{i}\) 然后这个有个很好的性质,是什么呢,就是我们考虑两个排列\(A\)和\(B\),不改变原来的顺序,把它们合并成一个排列,方案数显然是 \(\binom{|A| + |B|}{|A|}\) 现在每个相同长度的排列\(A\)带有一个价值\(A_i\),\(B\)同理 \(C_{k} = \sum_{i = 0}^…
不想多说了,看网上的题解吧,我大概说下思路. 首先考察Stirling的意义,然后求出递推式,变成卷积的形式. 然后发现贡献是一定的,我们可以分治+NTT. 也可以直接求逆(我不会啊啊啊啊啊) #include <map> #include <cmath> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <alg…
写在前面的话 昨天听吕老板讲课,数数题感觉十分的神仙. 于是,ErkkiErkko这个小蒟蒻也要去学数数题了. 分析 Miskcoo orz 带标号无向连通图计数. \(f(x)\)表示\(x\)个点的带标号无向连通图的个数.弱化限制条件,令\(g(x)\)表示\(x\)个点的带标号无向图的个数(不要求连通). 考虑每条边是否出现,显然有: \[g(x)=2^{\binom{x}{2}}\] 考虑编号为\(1\)的结点所在连通块的大小,有: \[g(x)=\sum_{i=1}^{x}\binom…
第一眼生成函数.四个等比数列形式的多项式相乘,可以化成四个分式.其中分母部分是固定的,可以多项式求逆预处理出来.而分子部分由于项数很少,询问时2^4算一下贡献就好了.这个思路比较直观.只是常数巨大,以及需要敲一发类似任意模数ntt的东西来避免爆精度.成功以这种做法拿下luogu倒数rank1,至于bzoj不指望能过了. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib>…