题目 令\(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…
传送门 题目大意 求出\(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…
题目传送门:洛谷P4396. 题意简述: 给定一个长度为\(n\)的数列.有\(m\)次询问,每次询问区间\([l,r]\)中数值在\([a,b]\)之间的数的个数,和数值在\([a,b]\)之间的不同的数的个数. 题解: 第一问可以用主席树维护,但是第二问呢? 考虑离线处理询问,用莫队算法. 问题转化为加入一个数,删除一个数,统计数值在一个区间中的数的个数. 离散化后可以用树状数组维护,但是复杂度多个log,变成了\(O(n\sqrt{n}\log n)\). 考虑对数值也分块,先离散化,然后…
Description 求\(n\)个点无重边.无自环.带标号的无向联通图个数,对\(1004535809\)(\(479 \times 2^{21} + 1\))取模.\(n \le 130000\) Solution 模数好像是在提示了......这个模数非常适合\(NTT\). 还是想题吧.首先问自己一个问题:不要求联通会不会?不会 不连通的话最多有\(\binom{n}{2}\)条边,总方案数就是这些边选不选的问题,即\(2^{\binom{n}{2}}\). 我们令不要求联通的\(n\…
[BZOJ 3039&洛谷P4147]玉蟾宫 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda. 现在freda要在这里卖萌...它要找一块矩形土地,要求这片土地都标着'F'并且面积最大. 但是rainbow和freda的OI水平都弱爆了,找不出这块土地,而蓝兔也想看f…
目录 洛谷 P1967 货车运输 原题 题解 思路 代码 洛谷 P1967 货车运输 原题 题面请查看洛谷 P1967 货车运输. 题解 思路 根据题面,假设我们有一个普通的图: 作图工具:Graph Editor 考虑从顶点\(1\)走到顶点\(3\): 路径\(1 \to 3\)(最大运货量为\(1\)): 路径\(1 \to 2 \to 3\)(最大运货量为\(3\),更优). 所以我们可以删掉\(1 \to 3\)这条边,形成了一棵树,通过多次观察发现,这是一颗原图的最大生成树. 问题就…
[BZOJ 3456]城市规划(cdq分治+FFT) 题面 求有标号n个点无向连通图数目. 分析 设\(f(i)\)表示\(i\)个点组成的无向连通图数量,\(g(i)\)表示\(i\)个点的图的数量. 显然\(g(i)=2^{C_i^2}\)种,但是我们要把不联通的去掉. 枚举1号点所在联通块大小\(j\).从剩下\(i-1\)个点里选\(j-1\)个点和1号点构成联通块,有\(C_{i-1}^{j-1}\)种选法.1号点所在联通块的连边方案有\(f(i)\)种,剩下\(i-j\)个点随便连边…
BZ链接 洛谷链接 这道题真是丧心病狂.... 应该很容易就可以看出做法,但是写代码写的....... 思路很简单,用一个平衡树维护一下所有的操作就好了,重点讲解一下代码的细节 首先如果按照常规写法的话,splay的节点要开到4000000, 直接炸飞, 由于任意时刻splay中的节点最多只有500000个,我们只需要开500000个节点就好了 然后将没有用的节点回收起来,下一次插入是插入到这些节点中 然后就是插入是将要插入的所有数字build成一颗平衡树,直接接在要插入的位置,这样会快很多 维…
洛谷很早以前就写过了,今天交到bzoj发现TLE了. 检查了一下发现自己复杂度是错的. 题目传送门:洛谷P3704. 题意简述: 求 \(\prod_{i=1}^{N}\prod_{j=1}^{M}F_{\gcd(i,j)}\bmod mod\) ,其中 \(F_{i}\) 是斐波那契数列的第 \(i\) 项, \(mod=10^9+7\) . \(T\) 组数据. 题解: 喜闻乐见的推式子时间. 不失一般性,假设 \(N\le M\) . \[\begin{aligned}&\prod_{i=…
题目传送门:洛谷P4036. 题意简述: 有一个字符串,支持插入字符,修改字符. 每次需要查询两个后缀的LCP长度. 最终字符串长度\(\le 100,\!000\),修改和询问的总个数\(\le 150,\!000\),查询操作\(\le 10,\!000\). 题解: 由后缀和LCP可以想到后缀数组或后缀自动机,但是它们都无法插入或修改. 考虑到LCP可以通过二分+哈希的方式来计算,考虑维护区间的哈希值. 这里使用平衡树无旋Treap来维护区间的哈希值. 一次修改\(O(\log n)\),…