2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)
队名:Unlimited Code Works(无尽编码) 队员:Wu、Wang、Zhou
先说一下队伍:Wu是大三学长;Wang高中noip省一;我最渣,去年来大学开始学的a+b,参加今年区域赛之前只学了大部分图论内容,以及一些数据结构、动态规划等内容,水平不及两个队友... ...
首先流水账式的记录一下比赛过程吧,最后再写这一年的感想、体会与将来的学习计划。
先从长春站说起... ...
长春站是我加入ACM以来参加的第一场ICPC,因此无比的激动!从杭州出发,乘了整整24小时的火车,终于到达了长春;第一次到大东北,沿途的风景与南方有很大差异,体会到了东北的寒冷。到了火车站,我们打的去了东北师范大学(6公里,只花了13块钱,差点就被黑车宰了),住的宾馆是东师会馆(一晚上398,还有自助早餐,宾馆也十分豪华,可以泡澡....东北的消费真的是便宜....)。
住下宾馆,洗了个澡,就跟着志愿者去报道了。
走进东北师范大学,就看到了欢迎的横幅以及大大的体育馆!
然后注册报到,发现衣服真的是高中生的校服!丑丑丑......
报道完之后肚子很饿呀,准备去吃点东西,于是....走近了一家杭州特色小吃...我们从杭州来的表示那根本不是杭州特色....然后就回宾馆睡觉了。
一直到了吃晚餐,去了东北师范大学的食堂,进去发现是自助餐,不过全是家常菜,味道一般。
吃完晚餐,逛了一下校园,发现并不大,这个校区比较古老了,似乎还有一个新的校区。 不久...回宾馆睡觉了。 第一天,End。
第二天下午进行了热身赛,第一次见到了现场赛的规模!!尼玛呀,吓死宝宝了,放眼望去全是电脑。
我们找到了自己的座位,然后开幕式开始了,就是各种老师以及学生代表发言......
开幕式结束之后,打了一波热身赛。我看了第一题,与队友讨论后发现是这个猜数字的题目......然后开始疯狂submit,期间判题速度极其缓慢,主办方说这个题目是来测试服务器压力的......第一次参加ICPC的我表示惊呆了!
热身赛结束之后,吃了晚餐,回去睡觉...第二天,End.
第三天,正赛!前期过完4题都还是比较顺利的,那四个题也比较简单,以至于终榜的时候4题是从铁牌到银牌的局面。
有52个队伍AC的H题,我们现场赛的时候想了半天也想不出是怎么做的,赛后场外问了一下过题的队伍,说是简单的完全背包,代码10行的样子。瞬间石化!
还有一个计算几何 三分的题目,现场赛的时候理论AC了,但没能实际AC。
但是...两名神一般的队友,在最后10分钟,把仅有8个队伍AC的A题过了... ...保了个银。
长春的正赛就这样平淡结束,以我目前个人水平,长春站也就混个铜吧,两个队友的各方面实力都是比我强很多的,即使看到一个我会做的题,为了防止出错,代码也会让他们敲。除非遇到什么图论题... 我会上去敲(我们三个人似乎我的图论知识丰富一些)。
赛后补题的时候,我把那个计算几何 三分的题目AC了... ... 又瞬间石化... ...大喊了一声 “ Ma De! ”。
正赛结束后,我们去东师会馆吃了自助火锅,248三个人,吃得饱饱的。 晚上大半夜的还出去吃了一波烧烤。第三天,End。
第四天中午退了宾馆,找了一家驴肉火烧的店,第一次吃到了驴肉。
下午回火车站,顺便在老昌食品买了一些东北红肠(其实一点都不好吃,而且还很贵)。
在回杭州的回车上,买了很多很多德州扒鸡(便宜,味道还可以)!
乘了32小时火车,到杭州是凌晨三点多,在城站吃了夜宵,打的回到了学校寝室, 花费100多。
长春之行,END。
===================================================================
再来说说刚刚结束的北京站... ... 顺利打铁。
北京站的比赛是在北京大学举办的,因为5月底参加蓝桥杯国赛去的也是北京大学,所以这一次并没有十分激动。
在火车上,我们做了出发之前准备的一套2008哈尔滨赛区的题,理论AC了好多,今非昔比,7年前题目的难度果然比现在低好多。
13号上午到的北京,下午就去了北大邱德拔体育馆报道。发现衣服是白色的很漂亮,质量也非常好(果然是选对赛区,少买一件衣服)。因为这一场有赞助商,所以送了一本精美的笔记本。北大也赠送了精美的指甲钳套装。
当天晚上,我去了奥体中心,第一次看到了鸟巢与水立方。夜景确实很漂亮,但是雾霾真的很严重。
奥体中心回来之后,就开始睡觉了。第一天End。
第二天去参加开幕式+热身赛。
进到体育馆里面,发现有两台电脑!!惊呆了!后来在知乎上看到电脑是i7+16g内存笔记本+23寸显示器,电脑报价是五位数的... ... 戴尔赞助就是壕。
毕竟北大主办,开幕式真的是高大上,PKU教练罗国杰主持的开幕式,ACM全球总裁、执行总裁、Golden Bear、亚洲区指导 黄金雄 都到了现场,中英文的演讲词。对于我这种英语渣,表示不知道他们在上面说什么。
热身赛开始的时候,发现并没有CodeBlocks,只有一个茶壶和Vim,之前都没有用过,而且debug需要用gdb... ...但是,这些我们都不会... ...因此正赛的时候我们都没有使用debug。
热身赛的四个题都还算比较简单的,来了两个图论题,最后一题想了一会儿发现是个最短路,让队友敲了;还有一题就是网络流,现场理论AC,来不及写了,当天晚上去了宾馆楼下网吧重新写了一发,AC了(热身赛的理论AK为正赛的崩盘做好了完美的铺垫)。
第二天,End。
第三天,正赛。
差一点点迟到,我们跑着进体育馆,气喘吁吁的... ... 坐下1分钟,就宣布比赛开始了,一开场队友马上发现了水题,并且两个水题都是1A的,这个时候(第28分钟)排名第四... ...不由得想起了长春站的情况(前期一直在前面,中期开始萎靡......),似乎历史在重演。
我看了A题题意,发现比较简单的,于是和Wang说了题意,Wang马上上去敲了,代码也不长,大约第60分钟的时候,交上去返回WA。本场的悲剧就从这时候开始了... ...
第一次提交WA了之后,马上打印代码。Wu开始上去敲C题,写了很久吧,样例不能过。过了很久,Wang发现了一个题意的Bug,以为这个地方可能有坑,改了之后Submit,依然是WA,于是Wu继续改C。我怕读错了题意,重新读了好几遍,发现题意并没有读错。又过了很久,C题样例依然过不了,Wu按照Wang的做法重新敲了一遍A的代码,交上去依旧是WA。
这个时候,节奏已经完全乱了。我重新看了另外一个图论题,Wang重新开了一个构造题,Wu继续找C的错误。因为A过的人越来越多,我们也一致认为是一个水题,认真考虑了做法,没有能错的地方,但是为什么一直是WA... ...十分蛋疼。
我在看图论题的时候,不断的会去看A的题意和代码,根本没有心思看别的题目。过了一会儿,Wang似乎会写那个构造题了,然后就开始上去敲,这时候我和Wu讨论了A,Wu说从后往前扫一直是WA,那么我们从前往后扫做一下,说不定就AC了(其实之前Wang也提出过这个想法),Wang敲了好一会儿构造题,测了几组数据都没有错,就Submit,返回WA,然后就打印了代码。这个时候时间大约过去了3个多小时,我们依旧是两题。
然后Wu上去改了一些C的错误,测了样例,依然过不了。于是乎开始重新敲A,这次是从前往后扫,敲代码时间总共不超过1分钟,Submit了一下,AC了(这个时候已经是封榜前10分钟)!这时候我们三个都觉得很奇怪... ...AC的做法得到的答案应该和和第一次提交的做法得到的答案是一样的,但为什么之前的一直WA,现在就AC了... ... 直到现在我们还是百思不得其解。
还剩下一小时,Wang一直改着构造题的代码,找出了一些,Submit了好多次返回的都是WA。C题,直到比赛结束也没过样例。
这场比赛,节奏完全被A题打乱了。1小时的时候可以AC的题,却在接近四小时的时候才AC,中间的三小时完全没有心情看别的题。最后一小时时间不够用了。
果然,历史总是惊人的相似的,曲线和长春站非常想像,只不过,上一次挽回了一些,这一次崩盘。
最终,打铁。
Update(2015.11.19 8:44):昨晚重新研究了A题代码,和Wang交流之后,发现错了在哪里了。
Update(2015.11.19 15:55):I题为构造题,重新理了一下思路,写了一下,AC了。
Update(2015.11.19 21:30):和Xiang578讨论现场赛D题,Xiang578理论AC。
Update(2015.11.19 22:15):Xiang578 AC了现场赛D题。
闭幕式开始之前,进行了北大第一届游戏对抗赛决赛,每个队伍写一个程序,控制贪吃蛇的行动路径。哪条贪吃蛇先撞墙就输了,选手介绍自己的程序的时候都说是会对当前地图的状态进行评估、用搜索等算法作出决策。这应该算得上是人工智能了,让我体会到了算法竞赛独特的魅力。
颁奖典礼的时候,也目睹了清华、上交、复旦等名校的强队。基本上,一血都是这些学校抢的,金牌区也往往是这些学校。
这一次北大命题区分度还是很好的,4题的45个队伍都是铜,5题6题的31个队伍都是银,7题的都是金,8题的捧杯。
当天晚上,去了一趟天安门。然后回宾馆睡了。 北京站的比赛,真的当了一次旅游队。
最后一天,中午退了房,傍晚乘上了火车。
====================================================================
这一年学习编程以及参加比赛的体会、感受、反思:
第一年的学习结束了,还剩下两年的时间。从第一次亲手敲出a+b,得到第一个Accepted,到现在写出网络流、强连通分量、匹配、2-SAT等等算法,回想起来也只度过了一年;这一年,尽全力了。
因为喜欢编程,所以每天往9406跑,不厌其烦地徘徊在AC,WA,TLE之间,在旁人看来,也许这是一件很无趣的事情,以前常常有人会跟我说“天天敲代码,别的事情都不做,以后能当个码农有什么出息?”,一开始还会反驳几句,之后听的多了也习惯了,因为在ACM道路上,多的是志同道合的伙伴,也知道我现在做的事情是磨砺思维的,不会往无脑的码农方向发展。
参加ACM还是挺累的,想获得成绩就要付出更加多的努力,毕竟来我们学校的大多数是零基础开始的,和那些高中、初中开始学的完全不是一个级别。经过这一年的学习发现,想获得好成绩,不光是靠勤奋,还需要经验的积累与敏捷的思维,有很多想半天想不到的问题,别人分分钟就能解出来;题目做的多了,算法学的多了,很多问题看一眼就知道怎么做,甚至还可以想到很多解法。
这一年,收获了很多知识,认识了很多为追逐梦想而奋斗人,从前浮躁的心也变得平静了许多,见识到了人外有人,天外有天。
对于北京站的感想:
这一场来了很多强校,亲眼见识到了上交、清华等学校的厉害,分分钟抢一个一血。他们两题的时候,我们也是两题;可他们五题的时候,我们依然是两题;直到结束的时候,他们7题,我们3题。
之前也写到,我们被A题卡住了很久很久,然后没有什么心思开别的题。其实所有失败的原因无非是实力不够或者经验不足:
赛后看了一下杭电二队队员写的感想,他们队伍也被A题卡了很久,2小时的时候才3题,因为会做别的题目,所以他们卡题期间也轮流在做题,以至于后面很顺畅的过了很多题。
而我们队伍,实力和经验都不及HDU,一旦出现卡题,就会乱了阵脚,思考别的题的心思都没了... ...
虽然这一站打铁了,但这是通向成功路上必须经历的,我们又收获了一次失败的经验。
对将来的学习计划:
编程是练出来的,归根到底还是得学习+刷题,现阶段还没到拼智力的时候。
在接下去的时间里,首先是要学习vim的使用与gdb调试,这一次北京站不提供CB,是很意外的。所以准备放弃使用CB,正式转向vim。除此之外,更重要的还是要学习算法与数据结构,图论已经差不多了,接下来需要认真的开始学习各种数据结构、计算几何、数论等等,还要做很多很多动态规划的题。大多数人的智力应该都差不多,就看谁更努力了。
====================================================================
今天上午10点半的样子回到了寝室,洗了个澡就开始写这篇流水账了,直到现在。
2015,ACM / ICPC 亚洲区域赛,End。