Skip to content

模拟赛 #39 T3 笔记 ​

前置知识:插板法,二项式反演。

简单的转换:算出方案数再除以总方案数。

简单的转换:大于和小于本质相同,因此大于的方案数 cnt(>) 是 all−cnt(=)2。

现在变成求长度为 n,值域为 [0,m] 且和相等的两个序列 (a,b) 的对数。

形式化一下

∑a=∑b(∑a)−(∑b)=0

min(max1,max2) 不好做可以想到转换为 max1+max2−max()(P10764),现在是 ∑−∑ 不好做,所以接下来就是惊为天人的一步转换。

(∑a)+(∑m−b)−nm=0(∑a)+(∑m−b)=nm

如果没有 a,b⊆[0,m] 的限制,这个使用传统插板法就做完了,即 (nm+2n−12n−1)。

现在考虑 [0,m] 的限制,考虑钦定若干个数不满足这个限制,被钦定的数一定 ≥m+1,假如钦定了 x 个数,那么只需要求

(∑a)+(∑m−b)=nm−x(m+1)

没有限制的方案数即可。

最后使用二项式反演就能求出恰好不满足 0 个限制的方案数,即

∑i=0⌊nmm+1⌋(−1)i−0(i0)×(2ni)(nm−i(m+1)+2n−12n−1)

总数显然是 m2n。

时间复杂度 O(Tn)。

最近更新