评价
在 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:题解写好了。