城市规划[多项式、连通图计数]

求出n个点的简单(无重边无自环)无向连通图数目,$n <= 130000$,$mod 1004535809$

设$f_i$表示i个点的无向连通图数,连通图计数的套路,枚举1号点所在的连通块大小

\begin{array}{rcl}
f_n&=&2^{C_n^2}-\sum\limits_{i=1}^{n-1}\binom{n-1}{i-1}f_i 2^{C_{n-i}^2}
\\f_n&=&2^{C_n^2}-(n-1)!\sum\limits_{i=1}^{n-1}\frac{f_i}{(i-1)!}\frac{2^{C_{n-i}^2}}{(n-i)!}
\\\frac{f_n}{(n-1)!}&=&\frac{2^{C_n^2}}{(n-1)!}-\sum\limits_{i=1}^{n-1}\frac{f_i}{(i-1)!}\frac{2^{C_{n-i}^2}}{(n-i)!}
\end{array}

设$F_i=\frac{f_i}{(i-1)!},G_i=\frac{2^{C_i^2}}{i!},F_1=1,G_0=0$

\begin{array}{rcl}
F_n&=&\frac{2^{C_n^2}}{(n-1)!}-\sum\limits_{i=0}^{n}F_iG{n-i}
\end{array}

发现后面是自己卷自己的形式,分治NTT即可。$\Theta(nlog^2n)$

在叶子节点已经收集完这个点所需要的所有信息,把前面的项考虑进去,更新别人。

把相似的项放在一起,能提到$\sum$外的提出去,找到定值,设多项式,构造卷积形式。

原文地址:https://www.cnblogs.com/hzoi-yzh/p/12038683.html

时间: 2024-11-08 19:15:56

城市规划[多项式、连通图计数]的相关文章

BZOJ 3456 城市规划 多项式求ln

题意:链接 方法:多项式求ln 解析: 毒瘤题的倒数第二个- -! md毒瘤题都做完后再回来写题解真是爽歪歪 先看这道题怎么做. 首先一个简单无向图的边的个数是C(n,2),然后那么我们的选择就有2C(n,2)种. 然后我们再考虑简单无向连通图的方案数为fi. f[i]=2C(i,2)?∑i?1j=1f[j]?C(i?1,j?1)?2C(i?j,2) 上面的式子其实没啥卵用- 现在我们这么来考虑. 看如上大爷给出的PPT. 其实这个正体现了划分和被划分的关系. 对于简单无向图来说,简单无向连通图

【XSY1295】calc n个点n条边无向连通图计数 prufer序列

题目大意 求\(n\)个点\(n\)条边的无向连通图的个数 \(n\leq 5000\) 题解 显然是一个环上有很多外向树. 首先有一个东西:\(n\)个点选\(k\)个点作为树的根的生成森林个数为: \[ \binom{n}{k}\times n^{n-k-1}\times k \] 前面\(\binom{n}{k}\)是这些根的选编号的方案数,后面是prufer序列得到的:前面\(n-k-1\)个数可以是\(1\)~\(n\),第\(n-k\)个数是\(1\)~\(k\). 我的理解是:每个

[P4841]无向连通图计数与生成函数

今天对于生成函数有了一个初步的认识:生成函数是一个多项式,我们令他为F.则F=a0+a1*x+a2*x^2+a3*x^3........an*x^n我们在数组中保留的则是a0,a1,a2........an生成函数有这样的性质:F^x(an)=sigma (b是一个n的自然数分解)a[b1]*a[b2]*a[b3]......所以在P4841中,生成函数有了用武之地.对于一张无向图,他一定是由若干个联通块构成的.所以,若令无标号无向图的方案数的生成函数为F,无标号无向联通图的方案数的生成函数为G

图的计数

无标号计数与带标号计数 无标号就是在观测上不考虑个体的差异, 带标号就是在观测上考虑个体的差异. 对于无标号计数, 我们可以按照某种关键值, 给所有的元素进行定序, 所有无标号计数等价于定序计数. 对于带标号计数, 我们可以任意设置关键值, 所以带标号计数等价于不定序计数. 最常见的例子就是组合与排列, 它们还满足一组特殊的关系: 组合数 * n! = 排列数. 有向图 / 无向图 带标号无向图的 度数的K次方 的和 分析 $ans = n \sum_{d = 0} ^ {n - 1} \bin

ZROI 19.07.28 组合计数/lb

T1 题意:\(n\)个变量,\(0 \leq x_i \leq c_i\),求\(\sum x_i = A\)方案数.\(n \leq 32\). Sol: \(n \leq 10\)的时候容斥很水,然而生成函数掉线了. \(n \leq 32\)的时候,dls:"显然Meet in Middle."然后我又掉线了 全世界就我不会生成函数 T2 题意:求\(0\)到\(2n-1\)的排列\(p\)的个数,使得对于任意的\(i\),\(n^2 \leq i^2+p_i^2 \leq 4

自己老是忘记的一些东西

1.二项式定理 (a+b)^n=sigma r=0~n (n,r) a^(n-r)*b^r 2.连通图计数 (1)n个点的连通图方案数 (2)i个点j个连通图的个数 3.中国剩余定理ans=sigmaMitiai ti=Mi^-1(mod mi) 4.O(n)逆元    inv[1]=1; for(inti=2;i<=n&&i<mod;i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod; inv[0]=1;   for(inti=1;i<=n&am

【GDOI模拟】两场总结

Round 1 Day1: 今天考场发挥的失误比较大,稍稍总结一下. 拿到题目,好久没做4道题了,第一想法就是想到就赶紧做,节奏要稍微快一点. 一眼看T2,嗯比较简单的数位DP,稍微推一下就能推出来吧. T3T4貌似都是神题,先放一放,到时再拿部分分. 然后就去鏖战T1,想了个很裸很暴力的N^1.5次方的算法,有点傻打了个单调队列,还有几个i打成了j,调了很久才调出来.觉得不稳妥又打了拍,拍出错了,又调,发现数组开小了.算了算极限空间把空间开大,总算是拍过了.此时已经是10点了,我对T2又比较有

两个常见模型

两个常见模型 bzoj4321 编号为1~n的人排成一排,问有多少种排法使得任意相邻两人的编号之差不为1或-1. n<=1000 破坏空位:有两个相邻的之间 我们设\(f[i][j]\)表示1~i的排列,有j组相邻的相差1,且i和i-1不相邻的方案数: 我们设\(g[i][j]\)表示1~i的排列,有j组相邻的相差1,且i和i-1相邻的方案数: 考虑插入i+1的位置,有: 不破坏空位且不与 i 相邻.不破坏空位且与 i 相邻.破坏空位且不与 i 相邻.破坏空位且与 i 相邻(只发生在 g 的转移

noip复习之数学(2)——递推关系

1.问题一:兔子的繁殖(斐波拉契数列) ? f[n]=f[n-1]+f[n-2] \[ Fibonacci:f(n)=\frac{1}{\sqrt{5}}\left(\frac{1+\sqrt{5}}{2}\right)^n-\frac{1}{\sqrt{5}}\left(\frac{1-\sqrt{5}}{2}\right)^n \] 问题二:凸三角形剖分/括号化问题/不同出栈次序数问题/二叉树个数问题(卡特兰数) f[n]=f[2]f[n-1]+f[3]f[n-2]+...+f[n-1]f[