2017 ACM-ICPC 沈阳站总结!

一次惊险的比赛体验

 今年开黑打网络赛侥幸得到一个名额, 于是和软件商量,软件去哈尔滨,我们队去沈阳。

火车25个小时20号周五下午三点左右到达沈阳,挤着2号线到东大附近,然后吹风问路,到宾馆,晚上去学校逛了逛,发现东门出来就是我们住的宾馆了,进去之前竟然绕了这么一大圈。看了看比赛场地,我们在4号位置,离主席台很近。晚上就随便玩玩,只是街头的风有点大,老师还没过来,于是我自己住双人间,简直开心。

26号热身,我们打算上午11点过去报到顺便吃饭然后参加开幕式热身赛,早上早起吃早餐,去的有点晚,将就着吃了,然后在宾馆颓,11点我们出发去学校,签到领好物品后就奔着食堂去了,结果找不到餐饮中心,又搭讪了两个妹子才找到,学校提供的是自助餐,伙食还行,吃完我们在食堂等老师过来,坐了一会老师还没来我们就自己去体育馆了,结果不让进赛场,只能在看台上玩手机了,2点左右老师过来了,于是我出去和老师汇合,正好可以进场了,戴着参赛牌进去了然后开幕式,北大选手和南开女队代表发言,气氛有点尴尬,我正对的就是演讲台。2点半开始热身,我们并没有商量什么策略,热身也像平时训练赛一样,A题题意很水,暴力可过,于是构思了一下拍上去A了,队友写D题,于是我去看B题,D题完全交给队友,也1A了,B题和另外一个队友说了一下题意就是裸的水池数目,不过有个细节没搞明白,于是我上手打,队友把那个细节很和谐的告诉了我,于是拍上去过了样例1A,看了看榜发现我们Rank 13,额,,,可能是大家都打的很随意不想败人品,但我们还是放松下来看第四个题,题意很难懂,很久太推出样例,没什么思路,队友的想法和我的想法都不对,后面也没时间写了,也没测什么环境,队友配置了一下cb,我发现编译器是GCC的,unorder_map本地编译都过不去,然后判题机有C++11,交上去也能过,后来回宾馆才想起来PE、TLE、外挂什么的都忘了测了。。回了趟宾馆把回学校的票买好了结果发现快18点了,于是和老师赶去食堂吃饭,在食堂简单说了一下策略。回宾馆然后把各种突发情况各种遇到过的问题都总结了一下,然后其他的就看人品了。

27号正式赛,早上起来去吃早餐,不过人有点多,也没什么东西吃,收拾了东西就去学校了,结果不让进,等了10多分钟才让场,题也没发,于是我们就坐这着发呆,其实我们很担心会打铁,我校貌似好几年没有在沈阳站拿过牌了,以前好像是没有参赛名额,但去年学长ccpc合肥银牌后也在这里跪了,我们多少都有点紧张。比赛开始我从前往后读题,发现k题题面很友好,很快懂了题意,队友也读懂了,然后给我说了一种贪心的想法,榜上有人过了I,6分钟也有人过了K,我们有点犹豫,队友回去又想了想,然后打算从前往后贪心,代码很快出来了,但我出了一个样例有点问题,于是我去看I题,题意一眼出来,就是4个数的和,然后在那个代码的基础上稍微改改,样例过了然后直接交然后WA了,重新看了一下题发现数据范围有点大,于是改long long ,还是WA,于是立马让队友帮我,队友说换成unsigned long long,但最大才(1<<64)-1,在这个基础上手动+1就行,然后特判了四个数最大的情况,交上去还是WA,,,,,难道要强行大数吗,队友k题想好了于是让他打,就是在前面的基础上往前扫了一遍取值,说不上有什么问题但也不确定是否正确,有点犹豫交上去返回YES,于是另外一个队友看我之前的代码,突然发现我没有+1,还有输出还是lld而不是llu,啊,简直石乐志,改了也过了,我们立刻跟榜其他的题,L题题意不难,但样例不知道怎么来的,和队友说了题意,但我们都推不出样例,过了有一段时间吧,我们都弄不出来样例,题意感觉又没问题,我有一种猜想,队友让我试试,代码也好了但不敢交,队友说先别交,于是又推了一会,突然明白题意了,connected 是那颗生成树上的边,不是和点相连的边,坑呐。。样例也说的通了,然后想思路,队友开始说了一种递归的思路,后来又否定了,过了一会说让我那样试试,我感觉很对,但需要构思一下怎么写,另外一个队友也想出来了他们讨论了一下是一样的,其实就是一个dfs,我很快写好了,然后判断的时候卡了一下,队友有点心急,改改就好了,还好没让他重写,debug了一下样例都过了一交返回YES。于是又开另外一个题,题意开场的时候就明白了,但输入不在整型数内,大概是个规律,写L题之前也打了表找规律,但是精度有误差找不出什么有用的,于是现在又开始攻这个,我看G题也过了一些队,于是我开其他的题,让他们攻F题,G题题意很难懂,看了半个小时都迷迷糊糊,中间也有被打断,思维不集中,那边表打好了,他们找了找规律, 试了好几种递推式,其实在他们试的时候我知道了正确的,队友也试出来了,我跟他们说于是确定了开始打,这个时候大概11点25,我们直接上大数板子,我G题实在看不懂,于是换我跟一个队友打,另外一个开题,大数板子很快也敲好了,打表发现最多60几项就满足题意了,于是直接暴力找,却突然发现string的比较是根据字典序的,于是手动判大小,试了几组没问题后交上去RE了,这个结果很出人意料,我们枚举了所有可能RE的结果,都没有发现问题,于是又把代码重新过了一遍还是没什么问题,然后把数据范围改大了点,其实跟本用不了这么大,把预处理的范围开大了点,样例也没设什么问题交上去还是RE,我们都很蒙,这个结果很难以接受,实在找不到可能RE的地方,于是申请打印,我仔细排查,队友把乘法改成加法,我没发现什么问题,队友也改好了,样例测的都没问题,本地跑出来也很正确,可是再交还是RE,这个时候三个人有点迷茫了,我想重新写,可是我在纸质代码排查都没发现问题,重打基本等于浪费时间,队友把PC^2关了,重新打开,然后重新选择路径,猛然发现我们之前选错路径了,改过来交上去返回YES,然后剩下我们三脸懵逼,这种sb错误被我们遇到了,离封榜还有几分钟,我们看了一下榜,100左右,后面的稳稳的做出4题基本都能把我们挤下去,听天由命。榜上G题提交量和AC队伍都稍微多些,于是我们打算攻G题,然后把裸题意给队友说了一下,还是不知道要干嘛,样例更是懵逼,队友知道题意后很快推出了样例,我们根据他的想法确实能把所有样例都推出来,基本确定了题意,但数据范围都很大,贪心模拟都不可能,毫无思路的感觉,队友想暴利,但肯定是要剪枝的,只是时间上已经不允许我们做过多的优化了,于是一个队友先写,我们再想, 我有一种记忆化搜索的想法,每个点都会储存一个字符串,所有字符串再取字典序最大的,n可达1e5,记忆化也是很难实现的,写法不熟悉还有方法没有得到验证,其他的想法也没有了,时间那种时候过的很快,队友代码写好了样例都过了交上去RE了,然后debug,我们基本对这个写法不报什么希望,随机化的写法很盲目性。各种样例虽然没什么问题,但数据组数肯定能把随机写法gank掉,突然发现还有10分钟左右了,只能重复提交,然后重复提交,中间也有改写法,改着改着又改回来了。。最后这样结尾。裁判要求所有队员收拾东西立即离开,志愿者拆电脑。我们唯一的感觉就是心灰意冷,最后一个小时的时间其他队都有很大的发挥空间,我们的希望渺茫。默默地收拾东西上观赏台,老师给我打电话问为在哪,找到我后问我怎么样,我直接跟他说打铁了,希望基本没有,打铁不是大事,但这个结果是我们期间各种不该所造成的,连交错文件这种难以置信的错误我们竟然都犯了,老师也没说什么,火车票是晚上10点半的,我们只能在东大多呆一会,过了一会志愿者差不多收拾好场地了,开始滚铜牌一下的队伍,我们就默默地看着屏幕,从180往上,到120左右还是不见我们,很多队伍后来后过题了排名都上去了,我们差不多准备好了接受这个事实,但再往上还是没见到我们队,我很奇怪,封榜前明明100左右,按道理这么多队伍上去了我们的rank自然会下来一些,还是没见我们的队友,越靠近108这条线我们越紧张,滚到115左右看到NYIST_...,诶,在106左右,中途再上去两个队我们就没戏了,我甚至想好了会是109这样的局面出现,果然中途上去了一个队,然后屏幕上显示还有一个学校未知,这个队上去了我们就没戏了,我们这个时候就在108线上,激动人心的时刻,我们甚至喊出来了不要过不要过,队友赶紧队友吹嘘嘘的姿势,唉,算是内心最真实的想法了吧,确实让人家听到了不好,结果是,,,全红掉了。我们正处于108线上,哈理工网友立刻发来贺喜铜牌压轴。我们死灰复燃般激动,竟然混到了一块牌。。。

 回到会场颁奖,这个舞台充满了希望失望绝望和激情,在这里什么都有可能。领完奖后和老师拍了合照然后去食堂吃饭了,下午的风显得格外的刺骨,激动过后,我们自己犯错的失望感袭来,情绪还是有点低,开场三发WA,后来又三发RE,还有重写的时间,这些加起来足够2个小时了,我们为自己的失误所付出2个小时的代价,最后一小时被银牌题无情拒绝。发现的问题还是很多,找了家麦当劳总结了好久。晚上10点50的火车,又是25个小时,今天凌晨到达学校。

 这场庆幸的是我们前一晚把各种突发情况最坏情况都打算好了,但还是有意外出现,赛前的充分准备和实力训练及团队配合、心里素质的考验、自我调节能力这些因素一场比赛中会暴露无遗,有的队可能就会因此毁于一旦。



  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACM-ICPC(国际大学生程序设计竞赛)是一项面向大学生的计算机编程竞赛,涉及算法和数据结构等领域。在比赛中,选手需要解决一系列编程问题,使用合适的算法和数据结构来实现正确和高效的解决方案。 对于整理ACM-ICPC模板,以下是一些建议: 1. 了解比赛要求:首先,你需要了解ACM-ICPC比赛的具体要求和规则。这包括了解比赛所涉及的算法和数据结构,以及题目的类型和难度等。 2. 收集资料:收集与ACM-ICPC相关的资料,包括经典算法和数据结构的实现代码、常见问题的解题思路等。可以参考教材、博客、论文等资源。 3. 整理模板:将收集到的资料整理成模板。可以按照算法和数据结构的分类进行整理,例如排序算法、图算法、字符串算法等。对每个模板,添加必要的注释和示例代码,以便理解和使用。 4. 测试代码:对每个模板编写测试代码,确保它们的正确性和可靠性。可以使用已知的测试用例或自行设计测试用例。 5. 更新与扩充:定期更新和扩充模板,以适应ACM-ICPC比赛中新出现的算法和数据结构。同时,根据自己的经验和理解,对模板进行优化和改进。 6. 练习和复习:在比赛之前,利用整理好的模板进行练习和复习。尝试解决一些经典问题,使用模板中的算法和数据结构进行实现,并进行优化。 希望这些建议对你整理ACM-ICPC模板有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值