ACM-CCPC中国大学生程序设计竞赛长春赛区(2016)地区赛——花开花落两相知

Day0

早上早早地起,晚上晚晚地到,一整天就在赶路中度过了。

前一天晚上收拾好了行囊(毛衣+去年EC-final发的棉夹克+两桶泡面+电脑+手机充电器+雨伞+模板),据说长春特别冷,而我们这种南方城市还在穿短袖。

早上7点多的动车,经历11个小时赶往沈阳北,再转动车到长春,真心觉得路好长。

怎么打发这段漫长时光(虽然听说别人还有需要48+才能到长春的),结果最终就那样昏昏沉沉地睡了一天。

中间有个小插曲,大腿队友“弃”我们而去了。。。哭

下午,忘了具体是几点,大腿队友接到了百度电话,说明天去三面,好吧,对于已经拿到了各种比赛荣誉的大腿队友来说,当然是找工作比较要紧,所以纠结了许久之后,大腿队友在唐山站下车了。而教练那边的安排则是让一个学弟来顶替一下。

于是,我和另一个队友继续风尘仆仆赶往长春。

晚上将近9点到了长春站,下了车,就莫名跟随其他人小跑了起来,不知道大家为什么这么赶,难道长春生活也那么快节奏?

好吧,上了轻轨,我知道原因了,百度地图了一下,轻轨末班车9点,好吧,幸好赶上。

到酒店住下,已经十点了,晚饭还没吃,想找个地方吃晚饭,结果大部分都打烊了,最终路边买了个煎饼啃。

Day1

报道时间是9:00~13:30,看来不着急,队友睡到九点多才起,而我,早上起来A了一下昨天在动车上看到的学弟他们训练的一道几何构造题。

十点多出发去吉大,第一次来,有点不认路,找了一会儿找到了计算机大楼。

拿到150的饭卡很开心,可以大吃一顿了。

一人一份龙虾盖浇饭,完了之后,队友要了一份奶茶,而我傻傻地要了一杯冰(还以为是饮料敲打),于是做起了长春的吃冰少年。

下午是热身赛,队友看B,我看A,显然A是道概率期望的题目,但是没有思路,队友B搞了很久,无果,来看了一下A,根据样例直接把式子猜出来了,问他怎么做,不知道。

然后一直搞B,结果。。。gg

后来才发现,居然是卡特兰数,好吧,我们对数列不够敏感。

C题是道简单的BFS,但是热身赛被卡在B,一直没有去做。

就这样,热身赛已被虐爆。

赛后回酒店等赶来的学弟,然后三人继续一波蹭吃。

Day2

比赛如期而至,队友从前往后看,学弟从后往前看,我挑中间。过了一会儿,队友开始敲B,那时候我在看H,学弟在看J。

队友敲到一半的时候,学弟跑过来说J题是水题,然而那时候J题还没有人A,于是让他继续看。这时,发现B和D都已经有好几个队过了,于是我转战看D,D题题面很简单,就是说1~n长度的n根木棒,问至少需要去掉几根,使得任意三根木棒均不能构成三角形。和学弟交流了一下,初步想法是记录每根木棒构成三角形时用到的次数,每次去掉用到次数最多的木棒,直到剩下的任意三根木棒均不能构成三角形为止。

此时队友已经过了B题,所以让我敲了一下D,结果WA了,好吧,这种想法不太对,当有多根木棒用的次数一样时,是不能随便去的。于是,队友和学弟想要尝试暴力把表打出来。我看此时F题已经有几个队过了,所以去看F,很快发现就是普通的构造题,把k和2k提取出来,题目可以很容易解决。正好这时D题打表无果,所以先过了F。

要gg,此时D题几乎全场的人过了,到处是粉红色的气球。学弟说H题用扩展KMP可以做,队友又和他研究去了,我只能推翻之前的所有想法,重新想D,毕竟这题肯定是水题。由于构成三角形的前提是两边之和大于第三边,为了尽可能构不成三角形,肯定要尽可能保留短的木棒,于是发现,需保留的木棒有1,2,3,5,8,13,好吧,斐波那契数列,D题过。

H题继续研究,我一个人去看J。队友后来发现并不需要扩展KMP,KMP就可以解决,于是H题也过了。

J题三个人研究了一会儿,由于n不能超过50,所以必须要尽可能地降低位数,我想到根据当前数的前面部分构造回文串,这样每次位数可以降低一半。于是开始敲,然而由于是大数,对着没用过的模板,搞了将近两小时然后一发A。

只剩下半小时,一起去看了I题,主席树,翻了一下模板,队友发现他主席树的模板忘带了,gg,尽量尝试自己敲,结果时间还是不够。

于是,拿了个铜结束了此次比赛。可以说,被自己蠢哭,被水题D卡了半天,不然I题还有机会过。当然,这是后话。

Day3

依旧是一整天的动车回程,从早上到晚上,坐到脚无力,回到寝室已经8点,匆匆点了个外卖充饥。

总体来说,对于此次拿铜,感觉还是有点不甘心,虽然不甘心也很无力,毕竟是自己技不如人。看到知乎上有人说此次ccpc都没有多少强队来,就好想求一下自己心里的阴影面积,orz。很快就要到退役的日子了,菜鸟依然是菜鸟,不过,非常谢谢这一路上遇到的你们,队友以及博客的支持者,是你们让我有了继续下去的勇气。你们要继续加油,相信终有一天能够成为“摸金校尉”。奋斗

ACM-ICPC(国际大学程序设计竞赛)是一项全球性的大学程序设计,每年吸引来自世界各地的顶尖大学代表队参与。ACM-ICPC竞赛的核心内容是团队编程和问题解决能力。 首先,ACM-ICPC竞赛对参选手的编程能力要求很高。参队伍需要在规定的时间内解决一系列的算法问题,这些问题常常包含复杂的数据结构和算法,要求选手在有限的时间内设计和实现高效的程序。 其次,ACM-ICPC竞赛强调团队协作。每个队伍由三名选手组成,他们需要分工合作,保持良好的沟通与协调,共同解决问题。团队成员需要相互理解、相互信任,快速地协商和决策,同时要保持高效的任务分配和时间管理。 此外,ACM-ICPC竞赛也需要选手具备良好的问题解决能力。这些问题往往是实际应用或理论推导相关的,选手需要从数学、计算机科学和算法等多个角度出发,找到最佳解决方案。在面对问题时,选手需要对问题进行分析、抽象和建模,运用各种算法和数据结构进行解决。 对于参选手来说,ACM-ICPC提供了一个学习与交流的平台。在比中,选手可以接触到不同国家和地区的优秀程序设计人才,学习他们的思维方式和编程技巧。同时,ACM-ICPC还举办了一系列的培训和研讨会,让选手有机会深入了解计算机科学和算法领域最新的研究成果。 总之,ACM-ICPC国际大学程序设计竞赛是一个挑战性与学习性兼具的比。它要求选手具备扎实的编程技能、团队合作能力和问题解决能力。参与此竞赛不仅可以锻炼自己的编程能力,还能与全球的顶尖程序设计人才进行交流,拓宽自己的视野和思维方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值