X Round 4 补题记

过去就像攥在手中的一把干沙,自以为攥得很紧,其实早就从指缝中流光了。记忆是一条早已干涸的河流,只在毫无生气的河床中剩下零落的砾石。
——刘慈欣 《三体》

A. 模拟赛

可以用 std::set 维护每天需要准备的模拟赛集合。

代码简单就不贴了。

B. 歌唱比赛

显然 Z 只能出现在字符串最后几位(因为是自低位到高位比较,因此一旦平局局面打破就不可能再出现平局)。

利用这一性质可以先判断出无解的情况。

合法解的构造方法就简单得多了:对于 X 的位,令小 X 在这一位上的数字比小 Y 大即可,反之同理。

G. (附加题)尺规作图

在线上赛中见到这样的提答题算是一大创新。

Subtask 1

由图可看出是求已知线段的中点。

作图步骤如下:

  1. 以点 \(A\) 为圆心,\(AB\) 长为半径作圆 \(C_1\);
  2. 以点 \(B\) 为圆心,\(AB\) 长为半径作圆。圆 \(C_1,C_2\) 会产生两个交点,分别记为 \(D,E\)。
  3. 连接 \(DE\),与 \(AB\) 的交点即为所求线段 \(AB\) 的中点。

Subtask 2

由图可看出是过直线外一点,作已知直线的垂线。

《X Round 4 补题记》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注