GDKOI2025 游记

day0 报道

上午 8:30 就从诸暨出发了,开始了 \(6\) 个小时的高铁行程。车上不是听歌看风景就是睡觉,反正时间很快就磨过去了。唯一的问题应该是没法吃午饭只能吃零食充饥了。
等坐地铁到酒店已经 \(4:00\) 了,广东确实比诸暨暖和不少,火速褪去棉袄与秋裤,清爽多了。
晚上 jjh 的父亲请我们吃海鲜自主餐,在此进行感谢。

看了一点之前写过的题。

day1 IOI 个人赛

8:00 进场,8:30 开始。
先看了一眼四个题,T1 应该是签到,T2 有点神秘,T3 是 counting,T4 更加神秘。
于是先做 T1,发现 \(\le\) 很不好做,但是发现 \(M\le 1e7\),于是直接把 \(\le\) 改成 \(=\) 做前缀和。然后就好做了,每一个质因子独立,对指数做完全背包就可以了,显然指数最多是 \(24\) 的,所以这个背包怎么写都 T 不了。然后瓶颈就变成质因数分解了,写个欧拉筛预处理一下就好了。写得中途主办方说出了点问题先不要提交,然后把比赛时间延长了。写完之后刚好把系统修好,交了一发还错了,差点以为做法假了,查了一下发现是取模没取干净。

然后去看 T2,发现送了 \(31pts\),然后想了一想感觉他这个走的过程可能很复杂,又看到 \(c_i\) 递增这档分,于是感觉可能是神秘贪心,就先放了。
T3 一开始想容斥,但很快发现不可做,于是考虑正难则反,然后幽默的发现自己不会 \(O(n)\) 计算总方案数,不过反正我不可能会正解,就直接写了个 \(O(n^2)\) 计算总方案数的 DP。然后考虑计算不合法方案数,先考虑给定集合怎么判断不合法,很难不想到按照左端点排序,然后变成右端点不能出现长度 \(\ge 3\) 的下降子序列,也就是说每个右端点要么是前缀最大值要么是后缀最小值。然后再结合 \(O(n^2)\) 计算总方案数的 DP,不难把状态拓展成 \(O(n^3)\),直接转移是 \(O(n^4)\) 的,先写了一下过了样例,发现可以前缀和优化成 \(O(n^3)\),不过在优化前我打算先交一发,结果他直接把 \(n=300\) 过了,想了想觉得 \(O(n^3)\) 做法没有继续优化的前途,那还有啥好说的,直接不优化了。

然后看 T4,仍然感觉很神秘,但是部分分好像给的很足。结果想了一会发现自己除了暴力之后就只会 \(b=1,c\le 10\) 了,破防了,写完直接跑路。

回头看 T2,感觉要贪心的话会很麻烦,于是考虑是不是优化建图,但是想了半天也没想出来怎么优化建图,然后又考虑贪心观察性质,又是什么都没观察出来,仍然不会 \(c\) 递增,于是先把 \(31pts\) 写了。

还剩两个小时,我感觉只要再做出来一题就 win 了,然后就开始在三题之间徘徊:
先想现在分最高的 T3,发现可以转换成网格图走路,但是这个走路的方法也太诡异了,而且还有不能跨过两条线的限制,反射容斥又做不了,果断放弃。
又想 T2,在优化建图和贪心之间徘徊了好久,仍然啥也不会。
T4 更加不可能会了。

然后目的就变成骗更多的分了,发现 T3 输入一个数输出一个数,果断打表找规律,结果啥也找不出来;T4 感觉乱搞可以骗很多分,结果发现自己压根没有乱搞能力,模拟退火也不会写,无语了。
坐牢了一个小时,最后还是 \(100+31+45+14=190\),也就是说别人只要会两个题就比我高了......
去掉 AK 的两个 AI,排名刚好 \(rk100\)
怎么大家都会 T2 啊,长剖优化建图是什么东西啊,震荡杨表是什么东西啊,二次函数最低点函数值是什么东西啊。

酒店的网怎么这么卡。

进行一个随机游走寻找饭店。结果走了 \(1h\) 碰到五个大学愣是一个饭店没找到。最后凭借超绝路感走到中山大学旁边的 GoGo 商场。吃了盖浇饭,感觉一般。

打了会 MC 就睡觉了。


day2 ACM 组队赛

第一次打组队赛。
目标:不做负贡献。

开始前先订了个开题顺序:xry ABCD,ywz EFGHI,我 JKLM。

但是他开考之后纸质试题还没发,只好先一起看题,很快发现 C 是签到题,ywz 写了一下过样例了,交了一发 WA 了,很快发现问题,再交一发过了(C 2A)。
又往后看了几题,感觉 H 也是签到,这时纸质试题终于发下来了,开始按照分工看题。
很快浏览完了四题,感觉都不太可做,有点慌,但是为了稳定军心我不能表现出来。
ywz 很快就会 H 了,交了一发过了(H 1A),然后开始看 G。xry 声称他会 D 了,但是有点难写,就让他先写写看。
重新省视了一下四题,感觉 J 很多项式,但是我不会多项式,所以打算到时候给他们看。K,M 看着就很难,L 感觉不是很难。
于是开始手玩 L,感觉就是先把前面几个贮水点放满最后一鼓作气走到最远点。一开始忽略了背包容量上限,觉得那不就是个模拟题,结果一直不理解样例是啥意思,后来终于发现了还有背包容量的限制。所以应该是转换成判定已知前面几个都放满了最远是否能到达位置 \(x\),想了一下感觉不太能理性分析整个过程,于是开始凭借经验猜结论。猜了好几个柿子最后终于猜出来了一个能把小样例过掉的 \(O(n)\) 判定方法。最后一段显然可以二分,但是前面放水的过程如果每次都用这个判定的话就要 \(O(n^2)\) 了。由于自己完全不会证明这个柿子为啥是对的,开始怀疑做法是不是假了。
xry 的 D 有点卡了卡了,ywz 把他换下来开始写 G,一发过了(G 1A)。压力给到我身上。
本来打算借个机子验证一下柿子对不对,但是 xry 说他调出来了,就先让他写。于是先默认这个柿子是对的,开始想怎么优化,中途 ywz 还过来问候了一下,本来打算交换的,但是最后还是没交换,他开始想 F。很快发现这个柿子很容易优化(笑点解析:我差点全局加全局最小值写了个线段树),但是 xry 还在卡常,于是我先去看别的题。两个小时的时候终于摸到键盘了,代码是真的好写,不到 \(500B\),样例竟然全过了,大胆交一发,直接过了(L 1A)。
写完之后帮 xry 写了个快读卡常,但是仍然 TLE,于是他决定换个做法,现在大众题就只有 D 没过了。
让 ywz 看了一眼 J,不会,于是和 ywz 一起想 F,想了一百个假做法还是不会 \(m_1=0\)
xry 说他想到新做法了,只需要线段树,开始写,ywz 怕他这个新做法又被卡常,于是也开始想 D,很快他说会了一个只需要树状数组但是八倍常数的做法。然后他俩就轮流写代码,一个人写的时候另一个人就调。我就在一旁继续想 F。
但是仍然不会,看到榜上有好多队都过了,有点急。这个时候 xry 调出来了,交一发,终于过了(D 5A,其实我们队罚时吃的还算少的)。起到了鼓舞士气的作用。
看一眼榜发现可做题只剩下 A,F 了,由于我构造和乱搞能力都为 0,所以 A 给 xry 写乱搞,ywz 去看其他题。
然后 xry 发现 A 随机做法貌似很容易就随出来了,交给 ywz 改成能提交的样子,结果还真的过了(A 1A)。
只要做出来 F 就 win 了,于是开始主攻 F,还剩 1.5 h,ywz 先把 \(m_1\ne 0\) 的部分写了。中途 xry 又提出来了若干假做法,但是都没办法修正。
封榜的时候 ywz 刚好写完,然后三个人开始一起想。就在又 pass 掉了 xry 的一个假做法后,xry 看着我给的 hack 突然意识到这玩意的答案不会很大,拿计算器按了一下发现不会超过 \(49\),ywz 写了个背包发现需要 check 的方案不超过 \(3000\),于是直接爆搜并判断即可,但只剩 0.5h 了。
重任再一次落到代码能力最强的 ywz 手里,但显然这个时候换谁都会很慌,最终仍然没能调出来。

感觉自己好没用啊,虽然没做负贡献,但感觉也几乎算是没做正贡献了,纯纯被带飞。
最后颁奖典礼 IOI 个人赛拿了个 Cu,组队赛擦线(\(rk29\))拿了个 Ag(我们学校三个队伍全是 Ag),Konata 还上去唱了首《青花瓷》,有点惊喜。
说明:那个唐唐的队名不是我们取的。

posted @ 2025-12-28 16:44  Green&White  阅读(1)  评论(0)    收藏  举报