MENU

THUWC 2025 游记

还是写一下游记吧。今年的 THUWC 在人大附中本部举行,于是有幸来到了这所很可能是全国最好的中学。今年 Day 1 下午还增加了学科嘉年华环节,在清华大学内进行,展示了一些清华大学在 AI 领域的前沿研究成果,感觉还是挺牛的。所以这就是为啥我不去北大营。等待时有两个小游戏分别是 AI 生成图片猜成语和读代码猜诗词,对我这种语文基础只有婴儿水平的人极不友好,不过最终还是靠场外协助通关了。

报道好像是排了整整两个小时的队,恰好于当天抽到了 lolm 狂野激斗的测试资格,于是排队的时候爽开了几把。50 元的午餐券也是令人震撼,实际吃起来也没给人留下非常深刻的印象,感觉卖个三十多还是可以的。

说回比赛。

Day 1。T1 是简单的,我直接写了个线段树优化 dp,每次转移时确定一个单调增或单调减的区间。T2 的 trick 在之前的模拟赛里已经见过多次了,最近的一次是 LG3590。我们熟知若干三元组无法匹配的三元组总能用不超过 6 个带通配符的三元组表示,直接套线段树二分即可做到 1log,但是我写的这玩意过不了。我们将所有三元组按权值从大到小排序,查询时找到第一个能够匹配的三元组,另一个结论是可能成为答案的三元组只有至多 8 个,直接暴力维护这些三元组即可做到线性。这份代码跑了 500 多 ms。有人的 1log 跑过去了,甚至还有学弟直接写 KDT $O(n^{5/3})$ 冲过去了,大为震撼。T3 没有观察到任何结论,我直接从前往后考虑每次操作,然后维护 $k$ 取每个值时剩余充能球个数数组的差分,这个差分显然只能是 $0$ 或 $1$,每次找到第一个 $0$ 或 $1$ 翻转即可。这样做是 $O(qn)$ 的,53pts。无法想象正解长啥样。T4 感觉有点想法又啥都没想出来,随便写了个暴力 10 分离场。

Day 2 工程题要求实现 Transformer 里的 Decoder Layer。下发资料里有经典之 Attention is All You Need。记得初三那年就想过工程题是不是要考 AI,现在果然还是考了。题目本身没有任何难度,毕竟不需要懂任何原理,按照题面的指引照着实现即可,显然是我打过的思维难度最低的工程题。不过你应该很难在本地编译运行自己的代码,毕竟我完全不知道这些代码需要怎样的输入,调试只能靠瞪眼。我全程没有在本地编译过代码。绝大多数人都似在了 T6.分组注意力,这部分代码比较复杂,场上调的都快睡着了,确认公式无误后只能对着代码干瞪眼,确实有些手足无措,不过所幸还是用大概一个半小时把这题拿下了。前六题做完后 T7 只需要将前面实现的组件拼接起来即可。最终在 3.5h 时成功 AK。

意外的是最终排名居然在前二十,十分幸运的拿到了卓越表现奖,获得了一个金牌和一个奖杯。应该是我 OI 生涯中的首枚金牌。不过这金牌做工实在是朴素。

现在奖牌和奖杯都不在手边,后面有机会的话补张图吧。

Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment

4 Comments
  1. 林安臣 林安臣

    Orz

  2. RDFZchenyy RDFZchenyy

    Orz,有幸现场看到dalao

  3. 奶龙 奶龙

    @(大拇指)

  4. @(吐舌)