省流
队友超快砍完签到,我全场挂机没作用,3t寄了。
9.20
内含剧透,请vp后再来。
赛前
比赛开始前登录机器,发现我点不进去比赛页面,一顿查询之后发现队长机是叶神,不过并无大碍,非常容易的接受了并以此为理由正式决定把签到题都丢给叶神,我则是去开铜牌题。
很难说这个决定是对还是错,只能说是我没有达到我该做的吧。
赛时
开局一眼看到了 E,由于机位关系我和叶神互相说了一下想法,我没有仔细推式子之类,简单说了一下就是赢够一些场次,觉得叶神想法也差不多,就丢下他去写,我和简老师去找后面的题。
叶神迅速开完 E 后归位,我们一致认为 G 是比较水的,我试着用线段树乱搞一下发现不是特别行,同时简老师提出了一种双指针的暴力做法,对每个询问去在数的桶里去二分找下一个位置,然而实际上当出现例如交替的情况时很容易就可以退化到 n^2 ,我没有细想就让叶神上机去写了,这个锅我必须要背。
然后我和简老师去看了榜有点歪的 A,我提出 A 非常像数学题,用莫比乌斯反演去求对于某个点有多少种正方形再搞类似分块的东西去统计个数,本质上是不负责任的口胡,此时叶神那边听取 WA 声一片,于是放下没有什么正经思路的 A 去看一下 G,此时我发现做法 T 掉了,阻止了叶神改 WA 加记忆化再交一发,过了几分钟发现 G 并不好做,此时看榜发现 K 过的人比较多,叶神很快提出倒序的猜想,我有点紧张没让叶神直接交,简老师手搓了几个样例发现没什么问题,交了一发过。
此时比赛过了一个小时,我们队大约在校排 210 左右,队伍情绪比较高昂,于是我单独去做我比较擅长的 G 这种形似乱搞的题目,简老师和叶神去开 A。经过了一段黑盒时间,简老师给叶神提供了一种做法,由于我没有过多去想于是没有介入,简老师上机开始码 A。
我认为 G 题如果在线的话应该至少是需要一种持久化的做法,试图去把题目转化为求一些区间,无果,确定方向为离线去对着 q 搞事情。然后我试着去想了比较极端的 q 的情况,发现遍历 n 时用询问中出现较少的数的位置去乘出现次数较多的位置的前缀和会比较好,因为无论怎么样前缀和的统计都是 O(1) 的,那么对于一个询问肯定是要用出现较少的那个,以让需要在 q 上搞的总次数少。这样的做法就可以压缩到 O(nlogn)。我给叶神说了想法后得到了肯定,很快在 2:20 左右简老师码完 A 题,队伍重回名额线,我上机去码。
码完之后交了一发 T 掉,我们怀疑是常数问题,加了快读快输和一些诡异的优化,其中我们带的快读板子出了问题,简老师摸索了一会重新搞好了,此刻交上去还是 T 掉,我选择下机静态查错,简老师和叶神则是选择去开 C 争取多一个名额的可能。
然后我开始挂机,简老师表示有一种乱搞的 C 的写法,我让他上机乱搞试一下,结果写到一半发现实现有问题,此时学校一队连开两题超过我们,但罚时不太好进不了名额线,队伍的气氛低沉了一些。
很快我发现如果出现了很多重复的询问那么出现次数就会累积起来,时间复杂度会退化到 n^2,而我因为一开始对简老师的做法表示记忆化不重要所以没有写,此时时间大约只剩四十分钟,我上机开始码,试了一些手搓的样例没有问题,交上去 WA 掉,然后一边乱试一边静态查,吃了很多罚时,即便过了也拿不到名额,而且也没过,遂寄。
赛后
队伍情绪一般,互相鼓励了今年刷好明年再战之后就简单的润了。我去问了教练如果能搞到打星名额自费能不能去打,教练说可以争取一下外卡,听到这个还是比较惊喜了。
回来之后对拍了 G 去查,发现赛时我没有把记忆化的询问从最后输出的序列里扣出来,结果打乱了输出顺序,修改之后交上去还是 T 掉了,最后发现是惨遭卡常,把 map 换成普通的离散化之后就比较快的过掉了,所以说赛时距离过其实还有一些距离,我也不太可能去想到把 map 换成离散化之后优化的常数,究其根本还是水平太次,只能下次继续努力了。
2025年9月21日