2025.4.21 NOI 模拟赛 题解

比赛

T1 NFLS #P13049. 数数题

题意

给定 \(n,k\),对于每个 \(1\le i\le n\),求出 \(k\) 维空间中放置 \(i\) 个互不区分的超长方体的本质不同方案数,两种方案本质不同当且仅当存在一个维度使得两种方案 \(n\) 个超长方体的坐标离散化后不同,任意两个超长方体位置不能完全相同,\(n,k\le10^4\)

分析

\(z_i\) 表示选择 \(i\) 条有标号可相同的线段的方案数(即 \(k=1\) 带标号且可重情况下的答案)

\(dp_{i,j}\) 表示按此方式选择 \(i\) 条线段,它们的端点去重后一共有 \(j\) 个的方案数,则 \(dp_{1,2}=1,dp_{i,j}\gets \binom j2 dp_{i-1,j},dp_{i,j+1}\gets j(j+1)dp_{i-1,j},dp_{i,j+2}\gets (\binom{j+1}2+(j+1)) dp_{i-1,j}\)\(z_i=\sum_j dp_{i,j}\),容易 \(O(n^2)\) 计算 \(z\)

\(g_i\) 表示带标号情况下 \(i\) 的答案,则不带标号的答案为 \(\frac{g_i}{i!}\)

根据定义有

\[z_i^k=\sum_{j\le i}\begin{Bmatrix}i\\j\end{Bmatrix}g_j \]

因此得到 \(z_i\)\(g_{1\sim i-1}\) 后可得到 \(g_i\),从而 \(O(n^2)\) 计算出 \(g\)

总时间复杂度 \(O(n^2)\),空间容易做到 \(O(n)\)

代码

参考

T2 NFLS #P13048. 特趣米诺

题意

一个 \(n\times m\) 的网格,用七种四连骨牌(同俄罗斯方块,分别命名为 \(\text{ZSJLTOI}\))密铺,要求每种的出现次数相同,求具体方案或判定无解,\(n\times m\le10^6\)

分析

有解的前提为 \(56\mid nm\)\(n\ge 3,m\ge 3\)

证明 \(56\mid nm\)

  • 显然必须有 \(28\mid nm\)
  • 由于 \(28\mid nm\),因此 \(n\)\(m\) 中至少一个为偶数
  • 因此对网格黑白染色,黑色与白色数量相同且都是偶数
  • 发现除了 \(\text{T}\) 外每个骨牌都占据二黑二白,\(\text{T}\) 要么占据一黑三白,要么三黑一白
  • 要使黑白的数量都是偶数,必然有偶数个 \(\text{T}\)
  • 因此 \(nm=2k\times 28=56k\) 必然为 \(56\) 的倍数

证明 \(n\ge 3\)\(m\ge 3\)

  • \(\min(n,m)=1\) 时除了 \(\text{I}\) 都放不下,显然不合法
  • \(\min(n,m)=2\) 时,假设 \(n=2\),则网格只有两行,从左往右依次放置时,若要保持贴合则两行的奇偶性相同,因此 \(\text{TSZ}\) 都无法放置,不合法

以下通过构造说明这一前提的充分性

显然 \(7\mid n\)\(7\mid m\),假设 \(7\mid n\)

\(8\mid m\),则构造出 \(7\times 8\) 的即可覆盖整个网格

\(8\nmid m\)\(4\mid m\),则此时必然有 \(14\mid n\),构造出 \(14\times 4\) 的即可覆盖整个网格

\(4\nmid m\)\(2\mid m\),则此时必然有 \(28\mid n\)\(m\ge 6\),构造出 \(28\times 6\) 的,然后两个 \(14\times 4\) 的组合出 \(28\times 4\) 的,\(6+4k\) 即可组合出所有 \(m\)\(n\) 方向复制若干次即可覆盖网格

\(2\nmid m\),则此时必有 \(56\mid n\)\(m\ge 3\),构造出 \(56\times 3\)\(56\times 5\) 的,然后四个 \(14\times 4\) 的组合出 \(56\times 4\)\(4k+3\)\(4k+5\) 即可组合出所有 \(m\)\(n\) 方向复制若干次即可覆盖网格

因此需要构造 \(7\times 8,14\times 4,28\times 6,56\times 3,56\times 5\) 的网格

\(56\times 3\) 的外 \(\text{Dancing Links}\) 都可快速求出,\(6\times 3\) 的情况需要一定的尝试

时间复杂度 \(O(nm)\)

代码

参考

T3 NFLS #P13050. 任务

比赛结果

\(70+40+0\)\(\text{rk}24\)

posted @ 2025-04-21 16:25  Hstry  阅读(18)  评论(0)    收藏  举报