1 条题解

  • 0
    @ 2025-8-24 22:50:11

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar cff_0102
    & aqua_qaq | 团子群 185800038 | 如果我死了说明我 AFO 了

    搬运于2025-08-24 22:50:11,当前版本为作者最后更新于2023-11-30 01:34:09,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    路径越曲折,空格越多,那么这些袋鼠就越不可能走到同一个格子上。这很容易看出,因为路径曲折说明(第一次)所有袋鼠一起移动时有大约一半原地不动,袋鼠多就说明要实现让更多的袋鼠走到一个格子上,就更难让随机程序通过。

    所以尝试构建一个路线曲折、空格尽可能多的地图。

    首先先搞一个全是墙的地图,接着将左上角填成 1。在一个 4×44\times4 的小方格中,L 形是空格最多的,应优先使用。所以在左上角摆几个 L 形。接着继续向外延伸,延伸的过程中时刻注意不要出现环,且路径尽可能曲折即可。接下来就凭直觉搞就好了。尽量不要把多个 0 连在一起,尽量不要把多个 1 连在一条直线上。

    如果不是程序生成的,那么提交上去时未免可能会有一些 bug,比如所有空洞连起来不是一棵树,出现了循环。下面是判断循环的一种方法。

    假如有 0 的联通块没有接到最外面,则它周围一圈就是一个循环,要将其打断。

    为了不伤眼睛,有一种办法是在 Excel 里面先用给单元格涂色的方法搞好,接着再把颜色转换成 01。全选复制之后记得把 Tab 删掉。

    按照上面的方法硬构造比较难把 hack 成功率凑到 25%25\%。这里提供一个符合条件的构造方法,直接搞一个像下图一样从左上折到右下又折回左上的图。

    上图是一个 10×1010\times10 的示例,但是为了满足题目要求,数据规模要扩大到 20×2020\times20 才行。

    一个符合要求的地图如下:

    PHP AC 代码:

    20 20
    11101111101111101111
    10110010110010110010
    11011011011011011011
    01101101101101101101
    10110110110110110111
    10011011011011011001
    11101101101101101101
    10110110110110110110
    11011011011011011011
    01101101101101101101
    10110110110110110111
    10011011011011011001
    11101101101101101101
    10110110110110110110
    11011011011011011011
    01101101101101101101
    10110110110110110111
    10011011011011011010
    11101001101001101001
    10111110111110111111
    

    AC 记录:https://www.luogu.com.cn/record/137495731

    • 1

    [ICPC 2020 Nanjing R] Ah, It's Yesterday Once More

    信息

    ID
    9159
    时间
    1000ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    0
    已通过
    0
    上传者