? #1
比较常规了。
【并非真正名称】2025年省一冲刺训练(七)--NOIP级
时间:4h (2025.08.28 07:30~11:30)
题目数:4
难度:
| A | B | C | D |
|---|---|---|---|
| \(\color{#FFC116} 黄\) | \(\color{#52C41A} 绿\) | \(\color{#9D3DCF} 紫\) | \(\color{#3498DB} 蓝\) |
| *1500 | *1700 | *? | *2000 |
估分:100 + 100 + 30 + 20 = 250
得分:100 + 100 + 10 + 20 = 230
Rank:1/5
场祭
读题。
开 A,先想到状压 dp,但是不会,打了个暴力跳了。
开 B,好像不难,首先从边上掉出去的可以算,那么如果没有洞,剩下的数目是知道的(令为 \(x\)),所以洞一定在那些被经过 \(x-k\) 的位置。
不过样例不过。发现是因为掉到边上的不能统计,然后如果一个方块多次经过一个格子只需要计算一次,所以先标记左上角经过了哪些格子,最后在算答案。过了。
回去看 A,发现貌似可以 meet in the middle,复杂度是 \(O(3^n n \log(2^n n))\) 的,能过。过了。
CD 会不了一点,打暴力了。然后 C 暴力还挂了。
补题
看题解,C 看起来好难,于是补 D。
哦还真是 dp of dp,看来想对了,只不过没时间细想了。
注意到只需要 \(n-2\),于是如果跑 LCS 的那个 dp,就只需要记录 \(f_{i,i-2 \sim i+2}\) 的值,而且显然这些值前缀差分是个 \(01\) 序列,于是直接状压就可以了。
但是这样复杂度是 \(O(2^5 \times 5 \times n|\Sigma|)\) 的,虽然那个 \(5\) 可以循环展开,但是还是有一个 \(|\Sigma| = 26\),考虑可不可以把这个去掉,发现是可以的,因为我们只关心添加的字符 \(T_i\) 和 \(S_{i-2 \sim i+2}\) 的相对关系,所以与 \(S_{i-2 \sim i+2}\) 都不相同的字符都是等价的,放在一起处理就好。那么 \(|\Sigma|\) 就被压缩到了 \(6\),可以很轻松地过掉了。
但是代码没调出来,不知为何答案总是小一点/yun
C 是很厉害的数数题,不补了。
天依宝宝可爱!

浙公网安备 33010602011771号