1 条题解
-
0
题解
对于图上一个点 ,考虑设它的相邻点依次为 ,那么必然有 为偶数。
于是可以考虑把 删掉,然后整个多边形上剩下的点会按顺序被 划分为若干块,而 和 一定在两端所以会划为 块。
剩下的边只会出现在块内。对于第一块,会发现 在块内的边的数量为奇数,而中间的点度数不变,所以 在第一块内的边的数量为奇数。继而 在第二块内的边的数量为偶数,于是可以推出 在第二块内的边的数量为偶数……
所以奇数位的块是个有欧拉回路的三角剖分图,偶数位的块是奇度数点在多边形上相邻的有欧拉路的三角剖分图。为了方便可以直接钦定 号点被删。
于是还要考虑对第二种情况的图进行计数。钦定两个奇度数点中的一个像上面一样删掉即可。
所以有转移方程:
$$f_i =\sum\limits_{|S|\bmod2=1\wedge\sum\limits_{j=0}^{|S|-1}(S_j-1)=i-2}\prod\limits_{j=0}^{|S|-1}([2\nmid j]f_{S_j}+[2\mid j]g_{S_j}) $$$$g_i =\sum\limits_{|S|\bmod2=0\wedge\sum\limits_{j=0}^{|S|-1}(S_j-1)=i-2}\prod\limits_{j=0}^{|S|-1}([2\nmid j]f_{S_j}+[2\mid j]g_{S_j}) $$写成 OGF:
$$F(x) =\sum\limits_{i=0}f_ix^i, G(x) =\sum\limits_{i=0}g_ix^i $$于是:
$$F(x) =x^2\sum\limits_{i=0}(x^{-1}F(x))^i(x^{-1}G(x))^{i+1} =\frac{xG(x)}{1-x^{-2}F(x)G(x)} $$$$G(x) =x^2\sum\limits_{i=0}(x^{-1}F(x))^i(x^{-1}G(x))^i =\frac{x^2}{1-x^{-2}F(x)G(x)} $$根据第一个方程:
根据第二个方程:
如果观察样例或者表就会发现 只有在 时非零, 只有在 时非零,所以可以设 :
$$x^2G_0(x^3) =G(x) =x^2\frac{F(x)}{F^2(x)+x^3} =x^2\frac{F_0(x^3)}{F_0^2(x^3)+x^3} $$$$F_0(x^3) =F(x) =x^2\frac{G(x)-x^2}{G^2(x)} =x^2\frac{x^2G_0(x^3)-x^2}{x^4G_0^2(x^3)} $$令 则有:
$$G_0(y) =\frac{F_0(y)}{F_0^2(y)+y}, F_0(y) =\frac{G_0(y)-1}{G_0^2(y)} $$这个除 优化也可以用在朴素 做法上,如果你的常数足够厉害那么可能可以借此跑过 70pts。
事实上简化 dp 时或者大力化简式子后可以得到:
组合意义是在删掉一条多边形的边后,整个图形分为两个仅有一个公共点的块,每个块恰好是 所计的合法块。
最后就是要解这个方程:
牛顿迭代即可。
第二问只需枚举图上的边的两边的图的大小,会发现答案就是:
所以卷积即可。总复杂度 。
- 1
信息
- ID
- 19
- 时间
- 4000ms
- 内存
- 1024MiB
- 难度
- 8
- 标签
- 递交数
- 17
- 已通过
- 1
- 上传者