题解 - Luogu P9034 「KDOI-04」Again Counting Set

再述题意

给出正整数 n,kn,k,求有多少个可重整数集合 SS 满足:

  • S=k|S|=k
  • 对于任意 xSx\in S0xn0\le x\le n
  • xSx=minxSx\prod_{x\in S} x=\min_{x\in S} x
  • xSx=minxSx+maxxSx+mex(S)\sum_{x\in S} x=\min_{x\in S} x+\max_{x\in S}x+{\operatorname{mex}}(S)

分析

前两个条件,显然说明:kk 是集合的大小,[0,n][0,n] 是集合的值域。

我们考虑第三个条件。假设 a=minxSxa=\min_{x\in S} xpa=xSxpa=\prod_{x\in S} x。也就是说,aa 是集合最小值,pp 是其余元素的积,可以得到 pa=apa=a

a=0a=0 时,显然等式成立,否则 p=1p=1

也就是说,集合要么存在 00,要么全都是 11


接着来看第四个条件。

当集合全都是 11 时,代入这个式子,得:

xSx=2\sum_{x\in S} x=2

所以这个情况只有 k=2k=2 的时候合法。

否则必然存在 00。设 m=maxxSxm=\max_{x\in S}xr+m=xSxr+m=\sum_{x\in S} x,也就是说 mm 是集合最大值,rr 是其余元素的和。代入式子,可以得到:

r+m=m+mex(S)r+m=m+{\operatorname{mex}}(S)

r=mex(S)r={\operatorname{mex}}(S)

所以我们要求的集合特征很明显:去除一个最大值,剩下所有数的和就是 mex(S){\operatorname{mex}}(S)

接下来就比较简单了。我们分类讨论一下。


mex(S)=m+1{\operatorname{mex}}(S)=m+1

这意味着,集合包含 [0,m1][0,m-1] 的所有整数。所以:

m+1=r12m(m1)m+1=r\ge \frac{1}{2}m(m-1)

mm 的自然数取值只有 [0,1,2,3][0,1,2,3]。所以我们根据每个取值,求出 rr,并且根据集合包含 [0,m1][0,m-1] 的所有整数,可以枚举这样的集合数。

  • m=0m=0 意味着全部数都是 00,则 r=0r=0,所以这是不可能合法的;
  • m=1m=1 的时候,r=2r=2,集合应该长这样:{0,,0,1,1,1}\{0,\ldots,0,1,1,1\}
  • m=2m=2 的时候,r=3r=3,并且集合包含一个 11,有两种可能:{0,,0,1,1,1,2}\{0,\ldots,0,1,1,1,2\},或 {0,,0,1,2,2}\{0,\ldots,0,1,2,2\}
  • m=3m=3 的时候,r=4r=4,并且集合包含一个 11 和一个 22,应该长这样:{0,,0,1,1,2,3}\{0,\ldots,0,1,1,2,3\}

这些集合在 n,kn,k 足够的时候都可以唯一构造。


mex(S)=r<m{\operatorname{mex}}(S)=r<m

这意味着,集合包含 [0,r1][0,r-1] 的所有整数,且不包含 rr。所以:

r12r(r1)r\ge \frac{1}{2}r(r-1)

r3r\le 3

  • 因为集合存在 00,所以 mex(S)0{\operatorname{mex}}(S)\neq 0
  • r=1r=1 的时候,集合没有 11,所以元素和不能为 11,矛盾。
  • r=2r=2 的时候,集合包含一个 11,又要 r=2r=2,则集合应该长成 {0,,0,1,1,m}\{0,\ldots,0,1,1,m\}
  • r=3r=3 的时候,集合包含一个 11 和一个 22,长成 {0,,0,1,2,m}\{0,\ldots,0,1,2,m\}

在后两种情况中,集合的数目与 mm 的取值数目有关,mm 只需要满足 m>rm>r 即可。


综上,我们来梳理一下答案的构成:

  • k=2k=2 时,{1,1}\{1,1\} 为合法集合,贡献为 11
  • k4k\ge 4 时,{0,,0,1,1,1}\{0,\ldots,0,1,1,1\} 为合法集合,贡献为 11
  • n2n\ge 2k5k\ge 5 时,{0,,0,1,1,1,2}\{0,\ldots,0,1,1,1,2\} 为合法集合,贡献为 11;
  • n2n\ge 2k4k\ge 4 时,{0,,0,1,2,2}\{0,\ldots,0,1,2,2\} 为合法集合,贡献为 11
  • n3n\ge 3k5k\ge 5 时,{0,,0,1,1,2,3}\{0,\ldots,0,1,1,2,3\} 为合法集合,贡献为 11
  • n>2n>2k4k\ge 4 时,{0,,0,1,1,m}\{0,\ldots,0,1,1,m\} 为合法集合,贡献为 n2n-2
  • n>3n>3k4k\ge 4 时,{0,,0,1,2,m}\{0,\ldots,0,1,2,m\} 为合法集合,贡献为 n3n-3

题解 - Luogu P9034 「KDOI-04」Again Counting Set
http://sunsetglow95.github.io/2023/02/05/sol-LGP9034/
作者
SunsetGlow95
发布于
2023年2月5日
许可协议