博主的 \(\rm bibi\) 时间!

这道题我至少学了三遍,从青丝学到白发,今天终于学懂了,我真的遍地乱哭嗷嗷嗷!இ௰இ

说句闲话:我永远爱 组合数学

\(\frak{Description}\)

\(\rm Link.\)

\(\frak{Solution}\)

前置知识:二项式反演,我没有骗访问量的意思啊(

对于此题,我们可以从 "至少","至多" 两个角度来思考:

\(\text{Method 1}\):"至少"

\(f(x,y,z)\) 为至少有 \(x\)\(y\) 列未被染色,有至少 \(z\) 种颜色一个格子也没染的方案数,\(g(x,y,z)\) 就是恰好,那么答案即为 \(g(0,0,0)\). 那么就有

\[f(x,y,z)=\binom{n}{x}\binom{m}{y}\binom{c}{z} (c-z+1)^{(n-x)(m-y)} \]

\(c-z+1\) 就是选择剩余可以染的 \(c-z\) 种颜色,还有一种不染色。需要特别说明的是,这里 \(f(x,y,z)\) 中的每一种情况实际上都已经固定了选哪些行、列与颜色,而非只确定了行、列与颜色的 相对 位置关系。

一般而言,既然我们求的是 "恰好",所以列式时等式左边为 "至少",这样反演之后才能得到 "恰好"。柿子长这样

\[f(x,y,z)=\sum_{i=x}^n\sum_{j=y}^m\sum_{k=z}^c \binom{i}{x}\binom{j}{y}\binom{k}{z}\cdot g(i,j,k) \]

这个柿子该怎么理解呢?首先我们需要知道,所谓 "至少" 实际上是 "钦定",而对于 \(f(x,y,z)\) 中的每种钦定(指 \(\binom{n}{x}\binom{m}{y}\binom{c}{z}\) 中的一种方案),它的乱选(也就是 \((c-z+1)^{(n-x)(m-y)}\))相对于自己是不会算重的。那么考虑 \(g(i,j,k)\) 中每一种方案的贡献,实际上是在它选择的行、列与颜色中再选出大小为 \(x,y,z\) 的方案(也就是 \(f(x,y,z)\) 中的某种钦定,不妨设其为 \(u\)),剩下那些没被选到的玩意,就是 \(u\) 的一种乱选。

那么二项式反演就有

\[\begin{align} g(0,0,0)&=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{i+j+k}\cdot \binom{i}{0}\binom{j}{0}\binom{k}{0}\cdot f(i,j,k)\\ &=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{i+j+k}\cdot \binom{n}{i}\binom{m}{j}\binom{c}{k}\cdot (c-k+1)^{(n-i)(m-j)} \end{align} \]

\(\text{Method 2}\):"至多"

\(f(x,y,z)\) 为至多有 \(x\)\(y\) 列被染色,有至多 \(z\) 种颜色染色的方案数,\(g(x,y,z)\) 就是恰好,那么答案即为 \(g(n,m,c)\). 那么就有

\[f(x,y,z)=(z+1)^{xy} \]

是不是觉得很奇怪?为啥 \(f(x,y,z)\) 中的每一种情况不像上种方法固定选哪些行、列与颜色,而是只确定了行、列与颜色的 相对 位置关系?看到后面你就会发现,固定选择实际上是画蛇添足,这话怎么说了跟没说一样,焯。好吧,这实际上是因为 \(g(x,y,z)\) 也没有固定选择哪些行、列与颜色,但是由于最后只需要计算 \(g(n,m,c)\),所以也相当于固定选择了行、列与颜色。

关系柿子长这样

\[f(x,y,z)=\sum_{i=0}^x\sum_{j=0}^y\sum_{k=0}^z \binom{x}{i}\binom{y}{j}\binom{z}{k}\cdot g(i,j,k) \]

这个柿子该怎么理解呢?虽然没有固定选择,但是 \(g(i,j,k)\) 仍然可以从 \(x,y,z\) 的相对位置中选择固定位置!

那么二项式反演就有

\[\begin{align} g(n,m,c)&=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{n-i+m-j+c-k}\cdot \binom{n}{i}\binom{m}{j}\binom{c}{k}\cdot f(i,j,k)\\ &=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{n-i+m-j+c-k}\cdot \binom{n}{i}\binom{m}{j}\binom{c}{k}\cdot (k+1)^{ij} \end{align} \]

\(\text{Method 3}\):"杂交水稻"

由于高维反演实际上是对每一维依次反演,所以你甚至可以定义 \(f(x,y,z)\) 为至少有 \(x\)\(y\) 列未被染色,有至多 \(z\) 种颜色染色的方案数,\(g(x,y,z)\) 就是恰好,那么答案即为 \(g(0,0,c)\). 那么就有

\[f(x,y,z)=\binom{n}{x}\binom{m}{y} (z+1)^{(n-x)(m-y)} \]

找出关系柿再反演可以得到

\[\begin{align} g(0,0,c)&=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{i+j+c-k}\cdot \binom{i}{0}\binom{j}{0}\binom{c}{k} \cdot \binom{n}{i}\binom{m}{j}\cdot (k+1)^{(n-i)(m-j)}\\ &=\sum_{i=0}^n\sum_{j=0}^m\sum_{k=0}^c (-1)^{i+j+c-k}\cdot \binom{n}{i}\binom{m}{j}\binom{c}{k}\cdot (k+1)^{(n-i)(m-j)} \end{align} \]

哎呀不管了:

自己的想法,但是不想再想一遍了 qwq.

\(k\) 种颜色至少染了一个格子方案数,\(g(x,y,k)\) 同理。那么(\(c+1\) 是把不填也当作一种颜色)

\[f(x,y,k)=\binom{n}{x}\binom{m}{y}\binom{c}{k} (c+1)^{(n-x)(m-y)-k}\cdot\prod_{i=1}^k \left((n-x)(m-y)-i+1\right) \]

具体意义就是将选定 \(k\) 种颜色先染一个格子,再让剩下的格子随便乱选。燃鹅,这个式子会算重。

\(\frak{Code}\)

这里本来有一份代码,但是太长了放不下。
posted on 2020-04-02 09:41  Oxide  阅读(117)  评论(0编辑  收藏  举报