Skip to content
0

模拟赛

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

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

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

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

形式化一下

a=b(a)(b)=0

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

(a)+(mb)nm=0(a)+(mb)=nm

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

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

(a)+(mb)=nmx(m+1)

没有限制的方案数即可。

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

i=0nmm+1(1)i0(i0)×(2ni)(nmi(m+1)+2n12n1)

总数显然是 m2n

时间复杂度 O(Tn)

最近更新