0%

CF2151D Grid Counting

题意简述

爱丽丝有一个大小为 $n \times n$ 的网格。最初,所有单元格都被涂成白色。爱丽丝希望将一些单元格染成黑色,以满足某些属性的要求。

假设 $(x_1, y_1), (x_2, y_2), \ldots, (x_m, y_m)$ 是被涂成黑色的单元格。给你一个大小为 $n$ 的数组 $a$ 。必须满足以下条件:

  • 对于每一行 $k$ ( $1 \le k \le n$ ),恰好存在 $a_k$ 索引 $i$ ( $1 \le i \le m$ ),使得 $x_i = k$ .简而言之, $k$ 行中应该有 $a_k$ 个黑格。
  • 对于每一个 $k$ ( $1 \le k \le n$ ),恰好存在一个索引 $i$ ,即 $\max(x_i, y_i) = k$ 。
  • 对于每个 $k$ ( $1 \le k \le n$ ),恰好存在一个索引 $i$ ,即 $\max(x_i, n + 1 - y_i) = k$ 。

计算可能的网格数。如果其中一个网格中的某个单元格为黑色,而另一个网格中的某个单元格为白色,则 $2$ 个网格被认为是不同的。由于答案可能很大,因此请输出 $998\,244\,353$ 的模数。

思路分析

最重要的就是要把第二和第三个条件分析出来。

这两个条件都对应一组 L 形图案,同一个 L 形区域里面只能有一个黑色格子。

条件 2 对应左上缺口的宽度为 1 的 L,条件 3 对应右上缺口的宽度为 1 的 L。

这两个条件结合起来就是一个倒三角图形,它的每一列只能有一个黑色格子。

大概这样。

所以只需要从最下面一行开始,假设第 $i$ 行有 $c$ 个位置可以填,那么就有 $C_c^{a_i}$ 种方案。

下一行就会有 $c-a_i+2$ 个位置可以填。

总结

感觉真没什么难的。为啥就被硬控了呢,,,