2022-7-12 #11 loj#6728 & AGC054D & AGC053D
天依生日!🥰🥰🥰
连续自闭两场模拟赛,呜呜。
031 loj#6728. U 群把妹王
很厉害的题啊。
集合划分容斥可以解决贡献为与等价类大小相关函数的乘积型问题,这道题就是一个很经典的集合划分容斥模型。
先考察一维的情况。
考虑一个大小为 \(z\) 的等价类的贡献 \(f(z)\),由于我们的“钦定”操作更方便刻画出两个对象“属于同等价类”,我们会将这个等价类划分成若干无标号集合。而我们希望指定一个容斥系数函数 \(g(z)\),使得等价类对应的集合划分方案的容斥系数乘积之和恰好等于其贡献 \(f(z)\)。
考察其组合意义可得到 \(F=\exp G\),即 \(G=\ln F\)(默认 \(g_0=1\))。
令 \(P_u=[\frac{x^n}{n!}]\frac{G^u}{u!}\),即 \(n\) 个位置分成 \(k\) 个等价类对应的系数,可以发现引入变量 \(t\) 后,\(P=\exp(tG)\),答案即为 \(\sum_{i=1}^n R_ik^i=[\frac{x^n}{n!}]\exp(kG)=[\frac{x^n}{n!}]F^k\)。
二维的情况则有所不同,我们发现在钦定等价类的时候,行列独立。令行对应系数为 \(R_u\),列对应系数为 \(C_u\),那么答案为:(我们只需取出每个等价类的第一个作为关键行/列,钦定关键行列交点即可得到整个矩阵)
可以使用 CZT 的技巧将 \(ij={i+j\choose 2}-{i\choose 2}-{j\choose 2}\),通过一次卷积完成,但是作为代价我们就必须求出 \(R_u,C_u\) 的具体取值。
对 \(P=\exp(tG)\) 中的 \(t\) 进行扩展拉格朗日反演:(令 \(Q\) 为 \(G\) 的复合逆)
\(x^{n-1}\) 系数是一个关于 \(t\) 的多项式,只需先求出 \(H=(\frac{x}{Q(x)})^n\),多项式即为 \([x^n]t^{et}H(x)=\frac{t^{i+1}}{i!}[x^{n-i}]F(x)\)。
\(Q\) 的计算只需对 \(G(Q(x))-x=0\) 牛顿迭代:
上下都能直接暴力展开后复合,复杂度 \(O(|S|n\log n)\)。
代码懒得写啊。。。
032 AGC054D (ox)
033 AGC053D Everyone is a winner
我们发现,若第 \(i\) 个人前 \(i\) 秒的做题顺序和 \(i\) 秒后的做题顺序均为 \(3\rightarrow 2\rightarrow 1\),我们只需关心其前 \(i\) 秒的做题分布。
等下写,太困了。