数学专题 1
数学专题 1
-
梦现时刻
生成函数简单题。
发现这个异或没有性质,所以一定是求出所有的 \(F(a, b)\)。
考虑如何做,我们写出其一行的生成函数:
\[\begin{aligned} \cal F_b &= \sum_a x^a \sum_i^b \dbinom bi \dbinom {n - i}a \\ &= \sum_i^b \dbinom bi \sum_a \dbinom {n - i}a x^a \\ &= \sum_i^b \dbinom bi (1 + x)^{n - i} \\ &= (1 + x) ^ n\sum_i^b \dbinom bi (1 + x)^{-i} \\ &= (1 + x) ^ n (1 + (1 + x)^{-1})^b \\ &= (1 + x) ^ {n - b} (2 + x)^b \\ \end{aligned}\]考虑如何提取其一行的系数,考虑递推,设 \(f_i = [x^i]\cal F_b\) 我们发现:
\[(1 + x)(2 + x)\frac{\rm d}{\rm dx} \cal F_b = F_b(2n - b + nx) \]于是有:
\[2(i + 1)f_{i + 1} + 3if_t + (t - 1)f_{t - 1} = nf_{t - 1} + (2n - b)f_t \]然后就可以递推了,这个方法还是通用的。
-
Swaps
容易想到连边,然后就是分讨一下环和链,实现难度在基环树找环。
-
Partial Virtual Trees
首先转化成讲每个节点打一个删除时间的 tag \(p_u\),这样可以轻松刻画第二个限制,即 \(\sum_{v \in son_u}[p_v > p_u] \le 1\)。
对于第一个限制,我们容斥一下即可。
这是非常好 dp 的,枚举 \(v \text{ s.t. } p_v > p_u\) 即可,前缀优化即可 \(\cal O(n ^ 2)\)。
注意到 dp 值不一定有逆元,所以有一步要写成前后缀积。
-
冒泡排序
type 1 很简单的。
type2 考虑到每次相当于是前缀最大值不会操作,其余会操作。这启发我们建笛卡尔树。
先钦定最大值在最后,一会再考虑位移。这样不能操作的部分显然是根的左链长度。
考虑位移,首先位移过去的点显然是必然操作,然后相当于是将其右儿子替换它,这样原本的根的左链长度就变成了走向一个节点的最长左走步数。
然后就是简单 dp 了。
-
Basis
首先你得会一个正常人类都会的莫反:
\[f(n) = \sum_{d | n} g(d) \iff g(n) = \sum_{d | n} \mu(\frac nd) f(d) \]\[f(n) = \sum_{n | d} g(d) \iff g(n) = \sum_{n | d} \mu(\frac dn) f(d) \]考虑只有 \(G\) 怎么做,发现其相当于是颜色无关,只和下标有关,可以看成 \(n\) 个球放到 \(m\) 个盒子中,盒子不区分,就是第二类斯特林数。
当然也可以先写个 \(dp\) 然后一眼看穿,于是我们可以 \(n\log n\) 求一行。
考虑加上 \(F\),则多一个每个连续段的 \(\gcd = 1\),考虑莫反,设 \(f(x)\) 表示连续段 \(\gcd\) 为 \(x\) 的倍数的方案数,然后就做完了。
-
Stairs
简单题。
首先显然可以还原出每个连续段。
然后直接容斥,问题变成将原有的连续段划分成 \(k\) 个连续段的方案,直接 dp 上前缀和优化是 \(n ^ 2\) 的。
我们发现 dp 的转移十分简单,于是直接将转移的生成函数写成矩阵,跑分治 NTT 即可。
-
Test Data Generation
倍增 FFT 板子,思考没难度。
枚举一个 \(2 ^ k\),将所有数除掉 \(2 ^ k\) 使 \(a_n\) 是奇数即可。
-
Jellyfish and OEIS
学习 特化析合树
然后写个区间 dp 限制一下限制就做完了。
-
Construct a Matrix
简单题。
首先将 \(0\) 去掉,然后发现 \(\times 1\) 不变,\(\times 2\) 相当于是改变奇偶性,相当于是异或。
写个高消,二维前缀和优化即可。
-
Stranger Trees
直接容斥,连通块间的方案数是很简单的,于是问题就是划分联通块。
直接 dp 即可 \(n ^ 3\),但是我们发现连通块大小 \(a\) 的系数是 \(\prod a\),这样可以用一个 trick 就是将系数看成在每个连通块中选一个点,记录是否选择即可 \(n^2\)。
当然用 matrix-tree 加站位元可以直接做到 \(n ^ 4\)。
剩下两个是 LGV 题,直接看 鲜花 即可。
本文来自博客园,作者:xrlong,转载请注明原文链接:https://www.cnblogs.com/xrlong/p/18990944
版权声明:本作品采用 「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0) 进行许可。