2024 THUWC 游记

· · 个人记录

重庆本地人,没有办法旅游了,悲(

Day 0

去试机。

由于在本地,学校直接组织校巴带我们一起。为了防止无聊一位大佬带上了牌,玩斗地主接下,我的牌都非常的好,好到有好几把都不需要出牌(。回来的时候想玩吹牛,在 BS 门口又买了两副,结果被老师察觉,还好我足够睿智保住了 30 多张牌,然后我们 4 个人用这 30 多张玩吹牛...

Day 1

早上一到 BS 就腹泻,泻到快开始才好。回来差不多就发题了。看到 T1 直呼这不是水题,写了个 O(m3^n) 暴力发现没有问题直接写 (nm2^n),发现还是 TLE,一直都是 77 分。然后脑热开始卡常,卡了一个小时卡过去了,大概过的时候 9:23。接着看 T2,发现是期望有点自闭,去看 T3,发现是交互题接着自闭,去看 T4,草,毒瘤数据结构。

反复横跳了 10 多分钟回来看 T2 暴力,发现 m=1 很简单,写了过后发现 n\le 128 也很简单,矩阵不知道怎么回事调了巨久,大概 10 点左右才拿到 70 分。感觉这道题打的差不多了去看 T3,发现可以朴素二分可以有 40 分,写完过后想怎么优化,中途想到了四分矩阵,但是感觉复杂度不太对没有写,写了个二分三角形,非常的废物,写到 11 点多交上去只有 51 分,感觉亏惨了。花了 20 分钟写了 T4 的 15 暴力,后面的发现不会,回来接着看 T2,看到这数据范围总感觉矩阵很特殊,打出来发现这玩意每一行的元素种类是相同的,只是进行了一个循环移位。于是直接开打 NTT,中途发现系数不会算,胡推了个式子接着写,写到 12:40 写完发现过不去样例。搞了很久发现系数弄错了,心态爆炸,赶紧去写 O(n^2\log n) 暴力结果最后没有写完,寄。

考完 pretest 100+70+51+15=236,发现周围一圈就我最低。QZJ 大佬怒砍 301 分,非常的强!交流完他的 T3 的神秘 96 做法大受启发(确信。

下午听讲座,讲的人工智能,结合 Day 0 的试机题盲猜明天是写下棋(。

后面听大佬说有一个专门暴力算系数 + NTT 的分,好像结合前面的有 96 分,人炸了。

Day 2

题目发现来的时候傻眼了,跟我自己预测的几乎一模一样。花了一个小时左右学会了所有基本操作并且能够用下发的 naive sample 和下发样例 AI 编译对打。于是开始想怎么改进。看了一下学习资料,感觉其中 \alpha - \beta 剪纸搜索和蒙特卡罗丢针算法比较好写易懂,后面的实在看不懂,想了一下开始敲蒙特卡罗丢针,大概 9:40 写完,写了有 6000b,封装了一堆函数,跟下发 AI 对打发现被 4.so 吊打,心态非常炸裂,交上去试了一下 T1 只有 50 分,甚至没有解锁 B。

于是开始打特判,判了一堆感觉没有什么用,打了一下 4.so 发现胜率没有太大的提升,交上去 T1 只有 70 分,刚刚够格解锁 T2,这时大概 10:30。后面开始自闭,写了很多乱七八糟的一直都没有效果,可能差不多 11 点过一点的时候突然想起来平时跟大佬下棋的时候经常被双管齐下薄纱,于是尝试在代码里构造这个东西。写了一下发现这玩意非常难写,因为重力四子棋中构造这玩意太困难了。想了好久觉得配合着蒙特卡罗丢针一起,不一定每一步都在构造双管齐下,于是开始写,写到 11:40 写出来一个又臭又长的代码,大概 15000b,这个时候发现胜率开始高了起来,但是有的时候会莫名其妙的 RE,人肉查重了一会发现有一个地方没有判断平局导致死掉,判了过后胜率又提升了一点。大概 11:56 把 T1 又交了一遍,发现有 100 分!于是赶紧把 T2 也交了一发,中途等评测的时候看了一眼时间,感觉应该是等不到 T5 解锁,于是把 T5 也交了一发。后面测出来 T2 90 分,T5 50 分。我直接果断把 T3 和 T4 各交了两发,考试结束没有测出来。

考完估分 100+90+[0,100]+[0,100]+50。可能大概 400 分左右。

下午听讲座,跟旁边 Eznibuil 打 Bruforce 打了很久。