2023 ICPC 西安区域赛 游记

· · 个人记录

第一次参加 ICPC,银牌最后一名,最后刷榜的时候可太刺激了!

热身赛

热身赛真的只是热身,只做出了一道题。B 题队友在写,贪心没贪对;C 题想了各种做法,发现只能点分治 + 树套树实现可修改二维数点,O(n\log^3n),感觉不如暴力,就没有去写。下来问其他队,发现可以离线容斥。热身赛直接寄,只能期待明天的正赛。

正赛

开赛后,我习惯倒着开题,一看 N 就是一个模拟,然后先跳过看 M。看 M 过程中,队友对 G 有些想法,他们在那一边讨论,一边写,此时时间已经过去了 1 个多小时。整个队伍明显慌张了起来,vp 去年西安的时候,同样时间,已经过了几个题。再过去半个小时后,我直接让写 G 的队友先别写了,写一写 N 冷静一下,我来看看 G。接下来一个多小时就在他想 N,写 N,我想 G,写 G,穿插着写,然后过一会儿就到 12 点了(其实并没有注意到时间,已经进入忘我的境界了:))。有意思的是,在队友写完 N 的同时,我想到了 G 的做法,然后就是过 N 之后的两分钟之内过了 G,在其他人看来可能感觉会很奇怪吧(。在一度以为我们要打铁的时候,终于过了两道题,如释重负,至少不会爆零。

之后便渐入佳境,在之后的一个小时中,想到了 H,对下标建立线段树,按照值域建立主席树,之后就可以将 O(n^22^n) 优化为 O(n2^n)。但在途中,主席树还写挂了一次,这个罚时罚的有点可惜。最后一个小时,我们打算开一道题,然后猛攻,于是选择了 E。E 题一开始我读题错误,导致白白耗费了半个多小时在写 Tarjan 缩点上、十多分钟在调这个错误代码。在最后十几分钟,才看懂 E 题目的我们,什么事情都干不了。但是在这种情况下,我突发奇想,写一个暴力试试,或许这就是 OI 生涯带来的直觉,然后直接一发过了!我和队友直接震惊!O(n^3/w) 能在 1s 内跑过 n=5000!由于过于难以想象这样的场景,剩余的几分钟,我人是懵的,没想到 ICPC 赛场上也能暴力过 2\times 10^9!之后便是 3题 -> 4题。

滚榜

虽然是 4 道题,但是我们的罚时还是有点多的。从下往上滚榜的时候,每看到一个个四题选手向上升时,心里就一个哆嗦。当看到位于 128 名的我们时,心凉了半截。”第一次打,拿一个铜奖也还行吧“我们在这样不断地安慰自己,已经准备好让队友上去羞愧领奖的时候,在念完 129 名的队伍的名字后,主持人的一句”恭喜以上队伍获得铜奖“,让我们在难以置信的震惊中,由极悲到极喜!原来人的悲喜是可以在一瞬间转变的。可能银牌对大佬们是随意拿的,但是对于我们这样的弱队,一个银牌已经让我们可以很开心了。这种过山车似的体验,估计这辈子也不会忘记了。

赛后总结

在之后,我们队伍一致认为,在正赛过程中,应该让队友直接先写 N,而不是在 G 上浪费很多时间,这样也许会有更少的罚时;还有就是要调整好状态,不要再像这次一样,前面坐牢,后面才开始过题。同时,我自身也还需要更多的训练,作为队伍的依靠,很自豪,也觉得压力很大,我的状态基本决定我们这一场的结果如何。我也需要更加努力的训练,稳定自己的状态才能带领队伍获得更高的排名。之后还有一场比赛,还有时间,还可以继续训练,以找回当年高中时的水平()

除此之外,之后要统一都用 vscode。我平时就在用,但是两个队友一般用 dev,导致赛场上使用 vscode 不习惯,之后要习惯 vscode。

赛外活动与吐槽

周五到的西安,在去学校的路上,去看了看钟楼和鼓楼,尝了尝西安的美食。西安这个城市还是很不错的!

西工大校园环境不错,但是,为什么离市区那么远!打完热身赛后,和几个一起来打西安站的高中同学去市中心,找在西交的同学玩,来回就消耗了 2 个多小时。

出来看 L 题,好像被骂的很惨,但是由于看着没人过,故根本没看这道题()

整体来说,还是很不错的一段旅途,除了这套题之外的其他都很好。