1 条题解
-
0
自动搬运
来自洛谷,原作者为

while_0
我是玉瞐搬运于
2025-08-24 22:28:06,当前版本为作者最后更新于2024-11-28 13:57:39,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
很毒瘤的提交答案题。
题目大意:给你一个 的序列,每一种数字分别代表一种 块的俄罗斯方块。方块不能被旋转,只能硬降(即没有下落到一定高度再左右移动钻缝的操作。
我们称实格为包含方块的方格,空格为不包含方块的方格。
一共五个点,其中:
- 第一个点长度 ,只有横着的二连、三连块。
- 第二个点长度 ,由 的循环、 的循环以及一点点偏随机的块组成。
- 第三个点长度 ,由各种复杂的全清循环以及一些精心构造的非循环块组成。
- 第四个点长度 ,由看上去很随机的块组成。
- 第五个点长度 ,由看上去很随机的块组成。
我的做题顺序:$5\rightarrow 4\rightarrow 2\rightarrow 1\rightarrow 3$
对于测试点 、,数据比较随机,写一个 估价函数就能通过。具体地,搜 步, 步之后哪个局面最好,就往那个局面走一步。
估价函数包含以下几点:
- 一个空格上方有实格,扣分;
- 有大裂谷,扣分(大尖塔其实还好);
- 当前地形无法与特定块的下轮廓贴合,扣分。
这样可以通过测试点 、、。
能通过测试点 的原因是其中包含了很多 块(即一个点),容错率很高。
对于测试点 ,观察到所有方块的高度均为 ,我们设计如下的估价函数:
- 一个空格上方有实格,扣分;
- 一个空格左右都是实格或墙壁,扣很多很多分(这一行永远都不能被消除了);
- 当前地形无法与特定块的下轮廓贴合,扣分。
这样就能通过测试点 。
最后是测试点 。它包含7个全清定式,其中 个是可做的。我们称它们为 。各个 的操作见附件。
- : 思路是一个循环每列恰好两个实格,这样可以无限堆叠。
- :(重复两遍)这个定式我是手玩的,第一次重复会有一行加一格垃圾,第二次重复会消除。注意它们的形式都是左一右二,第一列一定会缺少材料,用 去填。
- :很多个 、很多个 ,再交替出现,每次 串和 串的长度不尽相同。思路:用 (即竖三)占据 、、、、 或 、、、、 列,达到用 插缝的效果。
- : 同 。
- :很多个 、少量 ,再交替出现,每次 串和 串的长度不尽相同。思路:用 的列顺序循环堆叠,用 填两边空余。
- 、:位于数据中间的不可名状之物。毫无规律,且循环块后的散块是为作者做法留下的地形量身定制的,不可做。在阅读作者解法一部分的中间状态后,我勉强花了一整天手玩出了这两个表。
我的代码在这里
- 1
信息
- ID
- 6366
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者