2024.11.09 Day1
前一天晚上跑出去吃火锅到半夜,早上一觉睡到十点多才起床。
热身赛启动,共三题。
热身赛只有一份题面,于是我将题面分成了两份,开始时由我先看 A,pengpeng 和 youwike 来看 B 和 C。最开始我稍微看错了一些 A 的题意,做了一些初步的思考。看榜后发现很快就过了很多 B。B 是一个概率相关的题目,于是让 youwike 继续做。后来与 pengpeng 讨论 A,才发现理解错了 A 的题意,修正题意后想出了做法,整理了一下式子后于 00:15 时通过。
然后我也看了一下 B 和 C 的题意。看完 B 之后我想了一个做法,实现了一下,但是得到了 WA,我以为是浮点精度问题,修正精度问题后又交了一发,又得到了 WA,觉得做法可能出现了错误。于是前往思考 C,过了一段时间,知道了 C 的做法,上机实现,在 00:42 通过了 C。
之后返回看 B,pengpeng 在我的做法的基础上又改进了一个后来发现并不会影响结果的细节,又得到了 WA 的结果。然后我重新思考,得到了正确的做法,在 00:53 通过了这道题目。
感觉大家状态不是很好,简单测试了一下就去吃饭,然后回酒店倒头大睡了。
2024.11.10 Day2
早上睡到七点钟,去楼下吃了早饭就前往赛场。
到达赛场之后发现行李寄存和进场安检都在排长队。赶在九点钟前挤进赛场,但是因为排队队伍数量多,比赛延迟到二十分开始。
我们还是偷窥了气球室,但是场内无法看到各个题目对应的气球颜色。在开始比赛,登录系统后我们先观察了所有题目的气球颜色,三个人都选择了预先判断的签到题进行开题。我打开了 B 题,很快就实现完了代码,但是我发现计算结果为可能无限的浮点数而题意要求四舍五入,且样例展示了一个显示为 xx.5
但直接 round
后向下取整的例子。我对此没有什么头绪,在输出大量中间值以及更为精确的数值后我认为做法没有问题,而且确实存在误差。此时已经慢了几分钟,并且已经有人通过,我叫 pengpeng 来帮我看了一下,他指出加一个 eps 也许能够解决问题,我不认同他的做法,但是至少能够通过样例。由于不能影响后面签到题的速度,我决定先将此代码提交一次,于 00:10 意料之中又意料之外地得到了 AC 的结果。赛后发现题解同样需要 +eps 后四舍五入,我并不能够理解这一做法的合理性,我认为这样一个抄题面,同时会发生浮点运算误差的题目并不很适合放在签到题的位置。
由于 B 占用了较多的时间,期间后面的题目都已得到了做法。youwike 快速上机实现并提交了 J,在 00:12 得到了 AC。K 同样是一个简单的题目,快速实现后于 00:19 提交并得到了 AC。
期间 pengpeng 与我讨论了 E,做了一些初步的观察,但我不是很擅长后面的部分,就去先大致看了一下其他所有题目。发现 I 有一个通过,仔细思考了 I,发现就是暑期我们做过的一个原题。pengpeng 和 youwike 也看出了 E 的结论,进行了实现,在 00:43 通过了 E。然后我和 pengpeng 交流后由他实现 I,于 00:53 得到了 AC。
期间我们观察了好一会的 C,是一个奇妙的构造题。我观察了一些性质,但是最开始有一个显然的思路错误,让我花费了大量时间思考这一问题。pengpeng 思考一会之后提出了一个构造,我才发现我思路中显然的问题,我仔细讨论了构造的实现,然后上机实现,于 01:24 通过了 C。
youwike 在开场就阅读了 A,并且指出 A 是一个他能够做的题目,但是需要一些时间。在我们构造的期间,他对 A 实现,在 01:25 做了第一次提交,但是得到了 WA,打印代码并阅读后发现了一个细节问题,改正后于 01:36 提交,得到了 AC,获得了正式队伍的一血。
此时我们的罚时还算优秀,获得了榜上的 rk2 ~ 3 的位置。此时 D 也有若干队伍通过,这是一个数学题,我进行了一段时间的思考,没有什么头绪,于是让 youwike 去思考。pengpeng 告诉了我 M 的题意,他表示这个题似乎能做。我对这题进行了比较长的一段时间的思考,并且得到了它的做法。但是它的做法中有一部分需要一个我不会的数学方法,我问了 pengpeng,pengpeng 表示他好像前几天打杭电模板的时候刚好在打印机卡纸的时候看到过这个模板,在进行了一段时间的翻找后我们找到了我们需要的模板,虽然我并不知道它的原理,但是看起来只需要把它抄下来就可以完成我需要的功能。题目实现不很容易,加上最开始抄的模板出现了一些小错误调试了一些时间,在 02:51 我第一次提交了 M,但是得到了 RE。我在本地测试了大的随机数据,复现了问题,改正后于 03:10 提交,得到了 AC。
期间 youwike 有了 D 的做法,也进行了一些实现。在 03:15 他提交了一次,得到了 WA。进行了一些调试后在 03:35 又提交了一次,又得到了 WA。期间 pengpeng 加入进了也为 youwike 提供了很多测试数据,调试出了很多问题。在 03:42 又提交,又得到了 WA。之后一直由 youwike 和 pengpeng 两个人一起讨论 D 的做法,以及代码测试与调试。
期间我去看了 H 题,经过一段时间后发现了一个似乎显然的性质,发现题目难度似乎并不大。于是进行实现。在 04:10 提交,得到了 WA。对代码看了一会之后我回去看题面,发现题目还有一个大样例。我下载了大样例并进行测试,发现计数出现了负数。对代码进行一些调整之后输出没有了负数,但是与正确答案还是有一些区别。之后便花了很长的时间对代码进行静态调试,以及在他们不需要使用机时时上机做了一些测试,均没有发现任何问题。期间 youwike 在 04:15,04:28,04:39 均提交了 D 但都得到了 WA。
在 04:43 分时,youwike 正在上机,他指出出现了一个公告。我们查看了公告,发现公告通知 H 的大样例有误已经更换。于是在 04:44 分我提交了我的 H 代码,直接得到了 AC 的结果。似乎在更早的时候就有一个公告指出 H 的大样例有误但是还没有更换,但是我们并没有注意到公告,并且场下没有任何现场通知,为此我们浪费了半小时的时间。
之后我也加入到他们,对 D 进行调试。此时时间非常紧张,他们的状态也都很差,无法冷静下来进行交流。我查看了他们的代码,努力理解了一些部分并且指出了几个可能的错误,进行了多次修改,并不断提交,但是最终并没有得到通过。
最终排名正式队伍 rk9,校排 rk7。
Comments | 1 条评论
博主 Osako
求热身题解