Atcoder Grand Contest 051 D - C4(多项式)
不会做 2800 的题了,敲个警钟(
一开始一直想着将从 \(S\) 开始,中途不经过 \(S\) 最后回到 \(S\) 的过程看作一个整体来分析,后来发现至少要三方就自闭了 /kk
不难发现 \(a,b,c,d\) 奇偶性必须相同,否则输出 \(0\) 即可,这样一来我们可以考虑将整个路径拆分为 \(\dfrac{a+b+c+d}{2}\) 条长度为二的子路径,我们将长度为 \(2\) 的子路径分分类可以得到以下四类:
- 起点和终点不同,并且经过 V:\(S\to V\to U,U\to V\to S\)。
- 起点和终点不同,并且经过 T:\(S\to T\to U,U\to T\to S\)。
- 起点和终点相同,均为 S:\(S\to T\to S,S\to V\to S\)。
- 起点和终点相同,均为 U:\(U\to T\to U,U\to V\to U\)。
我们首先枚举前两类路径的出现次数,设为 \(i,j\),那么确定这 \(i+j\) 段路径的相对顺序的方案数为 \(\dbinom{i+j}{i}\),这里要求 \(i+j\) 为偶数。接下来考虑插入起终点都为 \(S\) 的路径,显然 \(S\to T\to S\) 和 \(S\to V\to S\) 的出现次数都是固定的,分别为 \(\dfrac{a-j}{2}\) 和 \(\dfrac{d-i}{2}\),而总共可以插入这些路径的位置总共有 \(\dfrac{i+j}{2}+1\) 种,因此根据插板法,方案数为 \(f(\dfrac{i+j}{2},\dfrac{a-j}{2},\dfrac{d-i}{2})\),其中 \(f(X,Y,Z)=\dfrac{(X+Y+Z)!}{X!Y!Z!}\)。同理插入 \(U\to T\to U\) 和 \(U\to V\to U\) 的方案数为 \(f(\dfrac{i+j}{2}-1,\dfrac{b-j}{2},\dfrac{c-i}{2})\)。如果把三者乘起来,可以发现每一项至于 \(i\) 或 \(j\) 或 \(i+j\) 有关,因此直接卷积即可。时间复杂度 \(A\log A\)。
总之是一道小清新题。据说有线性做法,确实该紫菜了(