洛谷 P4841 城市规划】的更多相关文章

P4841 城市规划 题意 n个有标号点的简单(无重边无自环)无向连通图数目. 输入输出格式 输入格式: 仅一行一个整数\(n(\le 130000)\) 输出格式: 仅一行一个整数, 为方案数 \(\bmod 1004535809\). 设\(g_i\)表示\(i\)个点的图的数目,\(f_i\)表示\(i\)个点联通图的个数 \[ g_n=f_n+\sum_{i=1}^{n-1}f_i\binom{n-1}{i-1}g^{n-i} \] 意义是联通图+非联通图,关于非联通图的方案,枚举1号点…
题意 链接 Sol Orz yyb 一开始想的是直接设\(f_i\)表示\(i\)个点的无向联通图个数,枚举最后一个联通块转移,发现有一种情况转移不到... 正解是先设\(g(n)\)表示\(n\)个点的无向图个数,这个方案是\(2^{\frac{i(i-1)}{2}}\)(也就是考虑每条边选不选) 考虑如何得到\(g\) \[g(n) = \sum_{i=0}^n C_{n-1}^{i-1}f(i) g(n-i)\] 直接将\(2^{\frac{n(n-1)}{2}}\)带入然后化简一下可以得…
传送门 题意简述:求\(n​\)个点的简单无向连通图的数量\(\mod \;1004535809​\),\(n \leq 130000​\) 经典好题呀!这里介绍两种做法:多项式求逆.多项式求对数 先是多项式求逆的做法. 我们发现直接求连通图的数量并不好求,所以我们用所有图的数量\(g_n​\)减去不连通的数量,得到连通图的个数\(f_n​\). 易得\(g_n=2^{n \choose 2}​\) 考虑DP,枚举1号点所在的连通块大小,有\(f_n=g_n-\sum_{i=1}^{n-1} {…
构造简单无向图的EGF: \[ G(x)=\sum_{i}^{\infty}2^{\binom{i}{2}}\cdot\frac{x^i}{i!} \] 构造简单无向连通图的EGF: \[ F(x)=\sum_{i}^{\infty}f_i\cdot \frac{x_i}{i!} \] 由于\(G\)是由\(F​\)为元素组成的集合,则有: \[ \begin{split} G&=\sum_{i}^{\infty}\frac{F^i}{i!}\\ &=e^F\\ \end{split} \…
题目大意:求$n$个点的带标号的无向连通图的个数 题解:令$F(x)$为带标号无向连通图个数生成函数,$G(x)$为带标号无向图个数生成函数 那么$G(x) = \sum_{i=0}^{\infty} \dfrac{2^{i(i-1)/2}}{i!} x^i$ 枚举连通块个数可得$G(x)=\sum_{i=0}^{\infty}\dfrac{F^i(x)}{i!}$$$f(x)=f(x_0)+\dfrac{f'(x_0)(x-x_0)}{1!}+\dfrac{f''(x_0)(x-x_0)^2}…
传送门 这题太珂怕了……如果是我的话完全想不出来…… 题解 //minamoto #include<iostream> #include<cstdio> #include<algorithm> #define ll long long #define swap(x,y) (x^=y,y^=x,x^=y) #define mul(x,y) (1ll*(x)*(y)%P) #define add(x,y) (x+y>=P?x+y-P:x+y) #define dec(…
传送门 题目大意 求出\(n\)个点的简单(无重边无自环)有标号无向连通图数目.\(n\leq 130000\). 题解 题意非常简单,但做起来很难.这是道生成函数经典题,博主当做例题学习用的.博主看到题解后感到非常惊讶:生成函数还能这么玩! 步入正题.首先我们要定义生成函数\(F(x)=\sum\limits_{i\geq 0}f_i\dfrac{x^i}{i!}\),其中\(f_i\)表示\(i\)个点无向连通图数目. 定义生成函数\(G(x)=\sum\limits_{i\geq 0}\d…
\(\mathcal{Description}\)   link.   求 \(n\) 个结点的简单无向连通图个数,对 \(1004535809~(479\times2^{21}+1)\) 取模.   \(n\le1.3\times10^5\). \(\mathcal{Solution}\)   很简单的一道生成函数题.做完之后可以尝试一下点双和边双连通图计数 w.   令 \(f_i\) 为 \(i\) 个结点的简单无向图个数.显然 \(f_i=2^{i\choose 2}\).则其生成函数…
题目 令\(f_i\)表示n个点的答案.考虑容斥,用所有连边方案减去有多个连通块的方案.枚举1号点所在的连通块大小: \(f_i=2^{i(i-1)/2}-\sum_{j>0}^{i-1}f_j \binom{i-1}{j-1}2^{(i-j)(i-j-1)/2}\) \(\binom{i-1}{j-1}\)表示1号点必须在选出的连通块中,剩下的i-1个点中再选出j-1个.\(2^{(i-j)(i-j-1)/2}\)是剩下的点随意连边,但不跟选出的连通块连边的方案数. \[\begin{alig…
题意:给你一个6 * n的网格题,单点修改,询问区间联通块数.n <= 10w 解:看起来就很显然的一道题......线段树每个点用一个ufs维护连通性.完了. 我为了方便思考把图转成横着的了. 写起来真是毒瘤...... 重点在于:1.建立叶节点.2.合并两个子节点.3.把新的并查集的中间两列压掉. 第一步,这个就直接枚举,merge就完事了. 第二步,把两个2列的子并查集copy到当前节点的4列的并查集上.注意右边那个并查集,fa全部要加2m,因为下标加了2m. 然后枚举中间两列merge.…