2019acm-icpc西安邀请赛总结

    xiaoxiao2021-04-16  212

    2019年5月19日,地点:西安西北工业大学。

    18号先在北邮打了一场ccsp,准备的并不充分,为了避免过度自闭影响第二天的邀请赛,打了一半就放弃了,结果自然不是好的。从北京搭飞机到西安,抵达宾馆的时候已经凌晨一点多了(西工大这个校区真滴偏。。),赶紧洗洗睡了。

    第二天早上七点半起床,还是有点累的感觉,担心会影响比赛的状态。早餐就在秦龙酒店吃的,油条还行,看到这边豆腐脑好像是咸的就想尝一尝(从小到大都只吃过甜的豆腐脑),但是这个豆腐脑...为什么我尝的是酸的呢??调料加的辣椒和麻油,感觉不对劲,吃了两口没吃了。后面果然到赛场后有些拉肚子唉,比赛的时候疯狂跑厕所。

    早上九点,比赛准点开始,签到还不算慢吧,两道题写完大概是一百二十几的位置,而且没有出问题。说实话第一次交的时候心里还是有些忐忑的,害怕因为什么没弄好的小细节而罚时,对着单子检查了好几遍,也没发现什么问题,要不应该能更快一些,之后找出两道数论给syc看着,我和ny跟榜开始做M题,题意是       有n个星球m条传送通道,每条传送通道有长度,Alice要驾驶飞船从星球1飞到星球n,飞船初始等级为0,每升一级增加传送次数e和传送距离d,如果传送通道的长度大于飞船当前的传送距离飞船就没法飞过去,得升级,或者是传送次数(经过的边数)超过飞船的传送次数,也得升级。最后要求飞船从1到n需要升到的最小等级。如果无解则输出-1。

    这题就是个BFS,搜索到达每个点的最小等级,初始化所有点需要的等级为极大值点1需要的等级为0,遍历每条边,根据起点的等级、边的长度、路径深度可以计算出终点需要的等级,与当前终点的最小等级做比较,小的就更新,并将终点入队,搜完就能跑出来正确解。

    比赛的过程中我想出正解的过程还是有点慢的,BFS很快就能想到,刚开始想的点上存储的值是到达该点的(路径上最大的边,路径上的边数),然后由起点继续去推终点,但是情况会非常的复杂。。一个点可能会存储非常多的状态。。想歪了大概十分钟左右吧,才想到直接存等级就完事了。

    给代码手讲明思路,写完大概加一块大概用了四十多分钟了,当时的时间应该是十一点多的样子,出了几组样例验了验,没问题就交了,结果返回了整场比赛唯一一次WA,也因此直接让我们又自闭了一个多小时。我觉得算法没问题,当时过的人也挺多的了,打印完代码之后开始边检查边出样例,换队友去写计算几何,然而出了几组样例全tm过了。继而开始怀疑是不是题目读错了,当时有一个疑惑的地方就是-1会在什么时候输出?我们写的当点n的最小等级为初始的极大值就输出-1,但是题目描述中有说到图是连通的,感觉就不可能出现走不到的情况,又由这个疑点推翻了前面所有的思路。题目描述中有两句话的意思是飞船每次只能升一级,然后我们就开始猜测这个“每次”是不是指的“每到达一个点”,这样的话输出-1也能解释通了。于是尝试由这个假题意来想算法,讨论了很久都没想到改进的措施,但是按这个复杂程度我是真的不信有这么多支队伍能做出来,封榜后又过了二十分钟左右,提问了两次才把真正的题意弄清楚,又改了改代码,最终发现是因为队友写BFS拿数组模拟的队列出锅了,数组大小加了个0就A掉了。

    之后时间还剩不到40分钟!我们的罚时估计拖得很晚,大概是处在三题末尾的地方,肯定是拿不了奖的,计算几何的题目已经写了一半了,我们拿牌的唯一的希望就是在这接下来的三十几分钟内,把计算几何A掉。

    题目并不难想,而且在参加camp的时候有做到过比较类似的题目,但是...由于平常没怎么写过计算几何的题目,队友计算几何的板子没人用过..!只能寄希望于板子不出锅了。

    在我想出D题的正解前后,队友也把题目敲完了,之后只剩了十分钟左右的时间。编了几组数据过去,求的切点就是tmd有问题,当时就绝望了,以为是板子出了问题,筛查过后发现有一个函数参数的顺序与题目所给的不一样,可是改正确后切点还是求的不对。我们又对着板子一行一行的检查代码,终于在第二遍检查的时候发现有一处a打成了2!!!改完后,谢天谢地切点终于对了,一测样例,嘿!也能过。时间不到五分钟,我们有一种情况下的数据并没有测试,但是时间似乎已经不允许我们做更多的调试了,直接submit。

    队友点下确认提交的那一下我直接开始祈祷了,拿牌与否就看这一发了,三个人死死的盯着电脑屏幕上的compiling....过了几秒钟,突然就变成了一个绿色的correct!!千般感受,化作两个字:

        “卧槽!!!!!!!”

    声音可能有点大=。=本来略显嘈杂的赛场瞬间安静了下来.....随后,整个赛场内响起了掌声。

    我们只是一只小小的铜牌队伍,能拿到奖牌确实非常开心,可获奖的那种欣喜似乎在牌子拿到手后就不那么浓烈了,而比赛过程中,那种从被队友喷“想了个假算法”时的不忿,再到证明自己正确后的坦然,又有后来出问题时的绝望转化为最终过题时那种能抽空灵魂的刺激感,以及最后收到同路人鼓励时的小感动。每每想起,念念不忘,这大概也是acm比赛魅力的一部分吧。

    这次也算是队长的退役之战,愿大家付出的努力都能有所收获。


    最新回复(0)