• 【题解】ZONe Energy Programming Contest


    评价

    在 register 时,看到什么 energy drink 的选项才意识到这个 ZONe Energy 是个能量饮料公司。ATC 在日本影响力那么大的吗?

    然后一看分数:100 200 400 300 500 600。知道了,肯定很毒瘤(估计是出题人能量饮料喝多了,然后就太毒瘤了)

    题意+题解

    整套题的设定貌似是一个外星人入侵地球,然后这个能量饮料公司出来周旋的样子。

    当然很多题目内容和标题关系不大……

    A - UFO Invasion

    ……比如这题……

    实际题意为在给定串 (S) 中出现了多少次连续的 ZONe

    暴力扫即可。

    B - Sign of Friendship

    ……接下来剧情发展到好像外星人试图和地球人联系……

    一栋很高的高楼在 ((0,0)) 处向 (y) 轴正半轴无限延伸,有若干条线段 (overline{(0,d_i)(h_i,d_i)}),求最小的 (x) 使 (overline{(0,x)(D,H)}) 与所给线段没有交点。

    可以二分答案,或者更简单地——枚举线段最顶上那个点与 ((D,H)) 连线,最大的纵截距就是答案。

    https://atcoder.jp/contests/zone2021/submissions/22203202

    C - MAD TEAM

    ……貌似是你要组织外交团队……

    (n) 个人,每个人有五个属性,现在你要选出 (3) 个人,总属性值为三个人中该属性最大的值,力量指为总属性值中最小的哪一个,求最大力量值。((nle 3000)

    5ab 当时这道题卡了好久,以为 400 真的很难一样。其实后来想想也还好。


    一直最大中的最小,最小中的最大?可以二分答案。

    当然,5ab 不是这么做的。先枚举两个人,注意到另外一个人有选择的必要,当且仅当这个人 有某个属性的后缀最大值

    然后枚举每个属性即可,预处理后缀最大值位置,复杂度 (mathcal{O}(25n^2))

    https://atcoder.jp/contests/zone2021/submissions/22216693

    D - Message from Aliens

    ……然后是互相通信……

    (T) 初始为空,现在有两种操作:

    • 在末端加入一个字符;
    • 将字符串反转。

    完成所有操作后,还要删除所有 (T) 当中所有 连续的两个相同字符,并将分开的两个串合并,直到无法操作为止。输出 (T)

    注意到整体的反转非常费时,我们可以打一个标记。如果有这个标记就从头部插入,并且反向输出,然后改用双端队列维护。

    经过观察,插入完后的操作其实是可以提前至插入的。如果插入的字符与前一个相同就同时移除。

    https://atcoder.jp/contests/zone2021/submissions/22206799

    (可见 5ab 是先做 D 再做 C 的)

    E - Sneaking

    sneak v. 偷偷地走

    ……看来是要潜入大本营啊……

    给定一个网格图,每条边上都有权值。你只能在网格图上往前,往左,往右。同时,如果你往后退 (i) 格,那么权值为 (i+1)

    你在左下角,UFO 在右上角 ((r,c)) 的位置,求你到 UFO 的最短路。((r,cle 500)

    显然暴力最短路是不可的,我们考虑优化建图。

    注意到往后倒退权值的变化是线性的,所以我们可以考虑建分层图。

    • 一层图是原先的网格图;
    • 另一层图可以理解成 天空(你往回「跳」了若干格),只建往后的边,权值为 (1)
    • 在两层图之间建立桥梁,由于权值还要多 (1),所以要有多余 (1) 的权值。(5ab 的方法是往上权值 (1),往下 (0)

    这样一个点最多建 (6) 条边,dijkstra 跑一跑就行了。

    https://atcoder.jp/contests/zone2021/submissions/22221988

    F - Encounter and Farewell

    ……好家伙这是进入了银河系网络了吗……

    (N) 个节点,从 (0)(N-1) 编号。有 (M) 个递增正整数 (A_i),如果两个节点 (u)(v) 满足 (uoperatorname{xor} v = A_i) 则这两个节点之间没有连边,反之则有边。

    (存在 (nin mathbb{N}^{+}) 满足 (N=2^n)(1le nle 18)

    求这个无向图是否连通,如果是给出一棵最小生成树。

    又是赛时懵掉的一道题。当时猜了个结论结果 wa+tle 了,然后就结束了。

    暂时 5ab 也没有彻底理解,建议访问这位 ( ightarrow) ak 奆佬的博客

    总之,需要至少 (n) 个互不相同的异或组(两两异或得不到另外一个)来构建最小生成树。实际上就是建一个线性基,然后用一定的可行集去反推 MST。

    UPD on 2021-05-05:题解写好了。


    非常感谢您读完此文章。

    如果您喜欢这篇文章,请点一个赞支持一下博主。

    如果您对此文有意见,欢迎在评论区留下你的看法,5ab 会尽力达到。

    如果您真的不喜欢这篇文章,也请不要喷,5ab 欢迎私信反馈意见。

  • 相关阅读:
    tomcat启动问题
    索引优化
    itext转PDF(二)
    itext转pdf(一)
    定时器quartz配置文件
    hibernate自动去别名问题
    win10安装mysql 8.0.19 (解压方式)
    把数据按列拆分为数据表
    程序记时
    find的应用
  • 原文地址:https://www.cnblogs.com/5ab-juruo/p/zone2021-statement_solution.html
Copyright © 2020-2023  润新知