【BZOJ-3456】城市规划 CDQ分治 + NTT】的更多相关文章

[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\)个点随便连边…
题目链接 http://www.lydsy.com/JudgeOnline/problem.php?id=3456 Solution 这个问题可以考虑dp,利用补集思想 N个点的简单图总数量为$2^{\binom{N}{2}}$,要求的是简单联通图,所以可以用总量减不连通的. 不连通的可以通过枚举与某个固定点的联通的点的数量得到$tot=\sum _{i=1} ^{N} \binom{N-1}{i-1}*dp[i]*2^{\binom{N-i}{2}}$ 其中$dp[i]$表示的就是$i$个点的…
[BZOJ 2989]数列(CDQ 分治) 题面 给定一个长度为n的正整数数列a[i]. 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|. 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k. 2.Query x k:询问有几个i满足graze(x,i)<=k.因为可持久化数据结构的流行,询问仅要考虑当前数列,还要考虑任意历史版本,即统计任意位置上出现过的任意数值与当前的a[x]的graze值<=k的对数…
题面 求有 \(n\) 个点的无向有标号连通图个数 . \((1 \le n \le 1.3 * 10^5)\) 题解 首先考虑 dp ... 直接算可行的方案数 , 容易算重复 . 我们用总方案数减去不可行的方案数就行了 (容斥) 令 \(f_i\) 为有 \(i\) 个点的无向有标号连通图个数 . 考虑 \(1\) 号点的联通块大小 , 联通块外的点之间边任意 但 不能与 \(1\) 有间接联系 . 那么就有 \[\displaystyle f_i = 2^{\binom i 2} - \s…
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5322 Description Hope is a good thing, which can help you conquer obstacles in your life, just keep fighting, and solve the problem below. In mathematics, the notion of permutation relates to the ac…
3456: 城市规划 题意:n个点组成的无向连通图个数 以前做过,今天复习一下 令\(f[n]\)为n个点的无向连通图个数 n个点的完全图个数为\(2^{\binom{n}{2}}\) 和Bell数的推导很类似,枚举第一个cc的点的个数 \[ 2^{\binom{n}{2}} = \sum_{i=1}^n \binom{n-1}{i-1} f(i) 2^{\binom{n-i}{2}} \] 整理后 \[ \frac{2^{\binom{n}{2}}}{(n-1)!} = \sum_{i=1}^…
题目传送门 传送点I 传送点II 题目大意 平面上有$n$个点.问存在多少个矩形使得只有左下角和右上角有点. 考虑枚举左下角这个点.然后看一下是个什么情况: 嗯对,是个单调栈.但不可能暴力去求每个点右侧和上方的点的单调栈. 注意到如果给单调栈设个上界,那么顶多会削掉一些点,不会发生大的改变. 考虑CDQ分治,然后按照$y$从大到小排序.枚举左边的点然后不断把右边纵坐标大于它的点加入单调栈.(把横坐标比它大的全弹掉) 然后还需要考虑一个问题: 绿色点上方的点不能选. 如何找到这个上界?对左边开一个…
Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb.显然,两朵花可能有同样的属性.需要统计出评出每个等级的花的数量. Input 第一行为N,K (1 <= N <= 100,000, 1 <= K <= 200,000 ), 分别表示花的数量和最大属性值. 以下N行,每…
题意: 输出f(n)对998244353(7 × 17 × 223 + 1)取模的结果.1 ≤ n ≤ 100000 其中S(i,j)是第二类Stirling数,即有i个球,丢到j个盒子中,要求盒子不为空的方案总数 S(i,j)=S(i-1,j-1)+j*S(i-1,j) (前面一项表示第i个球单独放到一个盒子中,后面一项表示放到前面j个盒子中的某一个) 分析: 首先这个n不是丧心病狂的大,所以感觉可以求i=1时的结果,i=2时的结果,i=3时的结果……,于是可以不看第一个Σ 我们考虑后面的这项…
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3456 著名的多项式练习题,做法也很多,终于切掉了纪念 首先求一波递推式: 令\(F(n)\)为\(n\)个点的有标号无向连通图的个数,则考虑补集转化为有标号无向不连通图的个数,然后枚举\(1\)号点所在联通块的大小: \[F(n)=2^{n\choose 2}-\sum^{n-1}_{i=1} {n-1\choose i-1} F(i)2^{n-i\choose 2}\] 这样可以做…