西安游记
Posted Hellsegamosken
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西安游记相关的知识,希望对你有一定的参考价值。
真·游记。人在高铁上,痛定思痛,来年再战。
赛前:不像昆明一样卡三题就行。(???)
十六号下午四点半来到西安,摆脱了长沙的阴冷潮湿。第一天晚上住在西安钟楼下面的一家酒店,面朝小吃街,毗邻商业街,人声鼎沸,落地窗根本挡不住。晚上去了烂怂大雁塔,真没啥好看的,而且还进不去。又去大唐不夜城转了一圈,十点多就回酒店洗洗睡了。
第二天一早起来吃了碗臊子面,就坐了一个半小时的车去西工大。热身赛发放一血气球十分尴尬… 真就华为杯呗。晚上面基了老朋友,吃了烤肉,聊了好久,非常high。
赛前一晚上醒了有七八次?手表还告诉我睡眠质量95分?还好没有太影响状态。
快进到比赛开始。开场我先看了G,是个数据结构题,看出可以通过移动右端点,就变成了01序列区间取反、维护历史和。但当时直接跳了,没反应过来历史和随便打个时间标记就行了,不然说不定能有概率抢个一血。这时候F已经有人过了,于是看了眼和队友说了下队友就开始写,wa 了一发后过了。继续跟榜看L,发现每个因子独立,逐个枚举下 b1 的因子状况剩下的就能很快算出来了。这时候我对因子的写法还不大自信,于是学长就冲了,大概一个小时的时候过掉了L。
谁也没想到,这竟然是我们最后一次correct的提交。后来我们就多线开题,我 B、G、D、M、L、J 都看了,快速筛选了下决定做 D、G、B。D 很快想出了一个 n2log 的做法,感觉会 T,但机器空着我就先上了,结果 wa 掉了。一开始看通过率那么低以为是精度问题,精心优化了波精度无果。期间队友把 A 讨论出来了,于是学长接着写 A,我就把代码打印出来查错,怎么也查不出来,就先放弃了,转去想 B。我是压根没往离线方向去想啊,一直困于单调栈中无法自拔,最后大概编出来一个均摊复杂度看起来挺正确的在线算法。这时候学长的 A 还没调出来,不是 wa 就是 T。然后又是一段时间的自闭。此时距离比赛结束大概还有不到两小时,还卡着两道题,于是再次跳过 B 回头查 D,终于在即将封榜的时候发现枚举的公共路径两个人可以反向通过,给了我一波小惊喜——结果 T 了。榜上好多队都过了 K,精通模拟的学长便教了我德州扑克的玩法,并和我讨论 K。经过一波严密的分析,我们把需要判断的情况集中在了非常有限的几种上,后来学长又进一步缩小了范围,只需要判定同花顺即可。还剩四十五分钟的时候上机写 K,我继续自闭 D。我当时不知道怎么想的,一根筋的想把三分的log 优化掉,一直在想怎么 O(1) 算分配方案,怎么也想不出来。然后分析了一下 A 的复杂度,均摊严格 62n,怎么卡也还是卡不过去。K 那里也出了问题,也是过不了。然后三个人每人一道题,就这样自闭的结束了比赛。
赛后和其他选手交流才发现,A 就是 62n 卡常数,K 就是只判断同花顺,G 就是直接线段树维护历史和。没想到的是 D 不需要优化掉那个三分,因为根本不需要三分 n^2 次… 当他说“三分不是瓶颈”的时候我立马就反应过来了,但比赛的时候我就是压根没往这方面想。五个小时,只过了有手就行的两道题。
这次失利,和配合有关,和运气也有关,但算法竞赛,菜是原罪。
明年雪耻。
以上是关于西安游记的主要内容,如果未能解决你的问题,请参考以下文章