Codeforces Round #609 (DIV 2) D. Domino for Young

题目链接

我对题解的理解。

断言:Young 图能被多米诺骨牌填满的充要条件是:将 Young 图棋盘染色后,黑白格子的数量相等。

显然,此条件是必要的,下面证明它也是充分的。

我们用每一列的高度来表示一个 Young 图。

下面叙述一种用多米诺骨牌填充 Young 图的方法。

从右往左看 Young 图的每一列。为了方便描述,把最右侧的那一列称为第一列,第一列左边的那一列称为第二列,以此类推。下列各步中若某一步之中 Young 图被删空了就停止。

  1. 若第一列的高度是偶数,则把它删除。例子:5 4 3 2 2 变成 5 4 3。若第一列的高度是奇数,则把这一列除了最底下的那一块之外的部分删除。例子:5 4 3 变成 5 4 1
  2. 此时第1列高度是1,若第2列高度是奇数,则一定可以把这两列都填满并删除,回到第1步。例子:5 3 1 变成 5。若第2列的高度是偶数,则把第2列删到只剩下最底下的两格,转第3步。例子:5 4 1 变成 5 2 1。
  3. 若第三列的高度和第二列的高度奇偶性相同,先把它的高度降为和第二列相同,再把第二列和第三列的高度都降为1,再把第一列和第二列删除。转第2步。

  4. .....

按上述方法,最后 Young 图要么被删空,要么变成形如 $k, k - 1, \dots, 2, 1$,而这样的 Young 图中黑白格子的数量一定不相等。也就是说如果最初的 Young 图经棋盘染色后黑白格子数量相等,则它一定能被填满。至此就证明了断言。

设输入的 Young 图经棋盘染色后有 $B$ 个黑格子和 $W$ 个白格子。显然,能填入的多米诺骨牌数量不超过 $\min(B, W)$。可以证明,一定能填入 $\min(B, W)$ 个多米诺骨牌。

下面证明:形如 $k, k - 1, \dots, 2, 1$ 的 Young 图满足条件。

0
-----------
0
1 0
-----------
0
1 0
0 1 0
-----------

上图中 0 代表白色格子,1代表黑色格子。我们总把左上角的格子染成白色,这样白格子总比黑格子多。对 $k$ 用归纳法。设 $k = n$ 时结论成立,则 $k = n + 1$ 时比 $k = n$ 时多出了最下层的一排格子,这一排格子是黑白相间的且最右侧的格子是白的,因此这一排里的每个黑格子都可以找到一个相邻的白格子与之配对。

猜你喜欢

转载自www.cnblogs.com/Patt/p/12081794.html