GDKOI 2024 油寄

Day 0

早上语文模拟考要写作文,核心画面忘背了,只好省略 ,只有开头和结尾也挺好。我和 ty_xyz 是同个语文老师,但他们班的语文课在下午,所以他就可以逃掉模拟考,可恶!

中午吃完午饭回到教室,黑板上说我的数学报纸在老师那,老师让我去办公室改。没门的啦,我背上书包就直接去机房集合了。

到了机房,阔别已久的 nisuiting 也来了(他淦爆电脑屏幕被停训了)。他一来,机房就炸开了锅,以至于陈老师定义了机房的两种状态:有 nisuiting 的机房和没有 nisuiting 的机房。

在车上颠了两个小时在车上观了两个小时的腐,终于到了东莞。看到了小学悦教育的同学,拿了主办方给的袋子(埋下伏笔),看了看参赛情况,我们学校居然总人数第一,中山纪中以一人的优势落后于我们。饭堂和 ty 有得一比,我们应该吃的是他们老师吃的东西。

回到酒店,和 ty_xyz 住在一起,回到房间,拿出英语作业,WHK,启动!55 分钟后,傻逼 WHK,拿出电脑,腐朽,启动。Nemophery 也来和我们一起腐朽。酒店的网络是要短信验证码登陆的,然而我并没有手机,但是却莫名奇妙的可以上网。我 22 个月没打 MC 了,因为打开存档不知道该干嘛。感谢 GDKOI 给了我开腐 MC 的契机。我赶紧下载好 1.18.2 和 1.8.9。 ty_xyz 说要和我联机,然而要消除正版验证太难了,于是放弃。我去一个 起床服 van 了。


Day 1

早上被 ty_xyz 的手机闹钟叫醒,ty_xyz 过了 1515 分钟才醒。我们腐了一会就下楼了。

讲座讲构造,我 CF 打得太菜了,只懂前 3、4 题,直接开始观腐。

中午甚至没睡觉,下午有点困。

下午,从报告厅千里迢迢走到南区考场,打开书包,我笔袋呢?寄。落酒店了。我到处找人借,但大家都 only one。我再看看我的书包,欸,圆规!好!我收书包时一个错误救了我。好,开赛!

看看 T1,似乎是贪心。这么看的话应该是对大于 22 个人时使用 AOE,但是造了几组样例又好像不是,那就打部分分吧。

T2 试了几种做法便知道很明显是从最大值到次大值再到次次大值。

T3 打性质。

T4 打并查集暴力。

晚上在食堂吃饭,把主办方给的袋子放到了脚旁免得待会忘拿走,结果吃晚饭我的脚肯定是出了问题,啥也不告诉我,我的袋子就这么没了,额外还损失一本《算法竞赛·上册》。

回到酒店,ty_xyzlovely_codingcow 和我一起用我的电脑打起床战争,打到 10:00 回房打 穿越火线 Hello 2024,成功的把一道贪心识别成树状数组优化最长不下降子序列输出路径,然后就打不出来,然后就挂了。成功地从 Pupil 掉到了 Newbie。Goodbye 2023 我升到了 Pupil,又在 Hello 2024 掉到了 Newbie,真是快乐的新年。


Day 2

早上被我设置的《See You Again》叫醒。

先是讲并行计算,如听,如讲。我的电脑一直运行openjdk-8-jdk。电量从 80%80\% 玩到了 40%40\%

讲 Day 1 的题,至于我什么心情可以想象,T1 想出正解但被错误的 Hacker 给 Hack 了,T2 莫名其妙保龄,T3 倒是正常的,T4 莫名其妙没分。滚榜时都崩溃了,ty_xyz 大佬榜 77lsy22,我榜二百多。

PPT 上 T1 的题解甚至有“普攻”“技能”“AOE”,玩原神玩的, 合着不打游戏就看不懂题解是吧。

预估分数:60+100+60+40=26060+100+60+40=260

实际分数:10+0+25+0=3510+0+25+0=35

实际挂分:50+100+35+40=22550+100+35+40=225

无所谓,下午再战。现在先睡一觉。

睡个 der 啊,旁边 s奆lsyK1ngsley 一直腐实况足球和欢乐斗地主,肯定要观啊。另外 MC 肯定继续玩啊。于是电量 40%2%40\% \to 2\%

下午总算记得带笔袋,但是简直要睡着。坐我旁边的更是逆天,睡了 33 个小时。

看看 T1,手摩了几组样例后推出来很明显的几组规律:

  1. 第一步若 Zayin 够得着 Ziyin,则 Zayin 胜;
  2. 否则步长大者胜。

于是我想了 2020 分钟如何在 Θ(logn)\Theta(\log n) 的时间内求树上两点的距离。想不出来,自觉 BFS。

T2 想到树状数组,但是打不出来,自觉 Θ(n2)\Theta(n^2) 暴力。

T3 打了 3KB3 \operatorname{KB} 代码,结果发现处理不了下图这种情况:

sqrex

自觉暴力 Θ(n2)\Theta(n^2),结果发现不仅会 TLE,还过不了所有样例,管他的,没时间了。

看看 T4,哈哈,我直接printf("error");致敬 €€£。

预估分数:80+50+50+45=22580+50+50+45=225

实际分数:30+40+50+12=13530+40+50+12=135

实际挂分:50+10+0+33=9350+10+0+33=93

这个分数弥补不了 Day1 的垃圾发挥,焯。


总结:

Day 1 挂残,Day 2 还行。

file