10.5 模拟赛(NOIP十三连测 #11)

2024--梦熊&太戈--NOIP十三连测 #11【订正】 - 比赛 - 梦熊联盟 (mna.wang)

复盘

赢麻了(?)

老师说照着 \(300\) 分打。

顺序开题。T1 读懂题后模拟了一下样例,发现答案就是 $n - $ 连通块???快速写完了代码发现大样例全过了。此时 8:05。

T2。一眼 DP。但是 \(n \le 10^6\) 所以放弃了。先写了 \(n^2\)\(30\) 分 DP。猜测正解是贪心,但其实不是。

有两个特殊性质。用暴力程序模拟了一下也做出来了。

T3。没有思路。

T4。暴力是最短路,但是只会这 \(20\) 分。

尝试做特殊性质。打表发现找规律未果遂放弃。其实不用找规律直接做也不难。

T2 还剩 30 分不重要了。所以做 T3。

发现有 \(48\) 的暴力分,不是很难。冲正解。

发现一个美妙的性质。模拟了一会大样例(很强对吧),但是还找不到一个通用的方法。

但是直接爆搜加上剪枝可能会跑的特别快,起码 \(48\) 分能拿到。于是爆搜启动。

写了 1e4514min 终于过大样例了。但是跑了 50s。

卡常。发现是备份用时太长了。换了一种备份方法。

跑大样例。0.8s????

哦 WA 了。调了 1e4514min 后过了。还是 0.8s。

非常非常好的爆搜,是我的大脑旋转。这样应该能拿 \([64,100]\) 分。

调完还剩 10min。检查。

最后一分没挂!\(100+70+64+20=254\)。其实 T4 还有 \(10\) 分是不难的,但光想偷懒打表找规律了。

总结

好的:

  • 爆搜没写挂。

差的:

  • 不要偷懒。

知识点

  • T1:并查集。
  • T2:DP。
  • T3:性质。

题解

A. 公交车

显然 $n - $ 连通块数量。

B. 出租车

考虑最朴素的 DP。设 \(f(i, j)\) 表示消除 \(a_{1 \dots i},b_{1 \dots j}\) 的代价。转移显然:

\[f(i, j) = \begin{cases} \min(f(i-1,j),f(i,j-1))+1 &a_i = b_j \\ \min(f(i-1,j), f(i,j-1),f(i-1,j-1)) + 1 & a_i \ne b_j \end{cases} \]

直接做是 \(\mathcal O(n^2)\) 的。考虑优化。

注意到 \(f(i-1,j-1) \le \min(f(i-1,j), f(i,j-1))\)。所以:

\[f(i, j) = \begin{cases} \min(f(i-1,j),f(i,j-1))+1 &a_i = b_j \\ f(i-1,j-1) + 1 & a_i \ne b_j \end{cases} \]

满足 \(a_i = b_j\) 的状态 \(f(i, j)\) 只有 \(\mathcal O(n)\) 个。我们称这样的状态为特殊状态。

注意到对于非特殊状态(\(a_i \ne b_j\)),它一定会从 \(f(i-1,j-1)\) 转移而来。如果 \(f(i-1,j-1)\) 仍不是特殊状态,那么又会从 \(f(i-2,j-2)\) 转移过来。发现每次用到的状态都是唯一确定的,而且两维状态的差固定

这个过程会持续到 \(f(i', i'+j-i)\)。这是一个特殊状态(\(a_{i'} = b_{i'+j-i}\)),且 \(i' < i\)\(i'\) 最大。然后 \(f(i, j) = f(i', i'+j-i)+i-i'\)。求这个 \(i'\) 可以预处理+二分。

分析复杂度。一个特殊状态会通过两个非特殊状态转移,而一个非特殊状态会通过一个特殊状态转移。所以总复杂度是特殊状态的数量,即 \(\mathcal O(n)\)

提交记录 #653980

C. 自行车

注意到,可以三染色的充要条件是,任意一个子矩阵的四个角中,有偶数个 \(N\) 和偶数个 \(Z\)

或者说,视 \(N\)\(1\)\(Z\)\(0\),那么四个角的异或值为 \(0\)

所以我们只需要确定第一行和第一列。剩下的满足 \(i > 1, j > 1\)\((i,j)\) 都可以通过 \((1,1), (1,j),(i,1)\) 计算出来。

考虑枚举 \((1, 1)\) 的值。

对于一个满足 \(i > 1, j > 1\) 的且已经确定的格子 \((i, j)\) 而言,我们可以通过 \((1, 1)\) 和它计算出 \((1,j),(i,1)\) 的异或值。在这两个边界的格子间连边,边权是这个异或值,也就是 \(0/1\)

然后变成了这个问题。类似二分图染色即可。

中途判是否合法。代码细节较多。

posted @ 2024-10-05 17:35  2huk  阅读(28)  评论(0编辑  收藏  举报