3月24日参加了蓝桥杯省赛,4月13日参加了ccpc中国大学生程序设计竞赛,下面说说我对这两场比赛的感受。
首先是蓝桥杯,说到蓝桥杯,这次准备的时间特别短,不到2天的时间就去比赛了,但是题目的难度却没有我想象的那么高,5到填空,5到程序设计分别都写了前4道,最后拿了省二。
我一直都感觉这个省二拿的挺水的,应为感觉确实比较轻松,之后又被老师通知去参加CCPC的省赛,我便毅然决然的答应了。
之后便是两周的算法学习,在这两周之中我发现了自己好多好多不知道的东西,也知道了算法和数据结构之间千丝万缕的联系,但苦于时间限制,只了解了甚微。
首先是ACM模拟赛,5个小时做出来了两道题。。。。(真的难)
然后13号便是真正的去比赛了,早上6点起床,6点半上车,8点多达到郑州轻工业学院,9点参加开幕仪式,10点正式开始比赛。同样的,5个小时做了两道题(最简单的签到题)。
OK,说说蓝桥杯和CCPC之间的区别吧。
先是蓝桥杯,单人比赛,比赛时间是4个小时,省赛10道题,国赛6道题,难度是偏简单的(相比ACM和CCPC),蓝桥杯省赛或是国赛都有一半的题目是填空题,也就是说可以暴力破解,不用考虑超时问题,而且题目也是全中文的。使用语言唯一,是你报的比赛类型。程序设计题你提交上去后不能查看自己的状态以及题目的对错。蓝桥杯的排名以分数为依据,不同的题目有不同的分数,程序设计大题通过几组数据就可以拿几组数据的分数,所以蓝桥杯的成绩比较分散。
之后是CCPC,CCPC是仿ACM的,3人组队比赛,比赛时间是5个小时,题目在10~12道不等,难度很大,基本上60%~70%的题目和数据结构有关,题目全部为程序设计大题,一半的题目是中文,一半的题目是英文,所以这个时候就要考英语水平和代码的优化了。但是题目提交上去之后有提示运行超时,运行错误,编译错误,答案错误等提示,所以还可以再次提交,但是除了提交正确以外的结果都会增加做题时间(一次20分钟)。也可以看题目的提交量,每一道题有多少人已经做出来都是可以查看的。使用语言不唯一,c/c++,java,python都可以用。成绩以做出正确题的个数为主,如果正确的题目个数一样则以用时少的队伍获胜。
总体来说,蓝桥杯和ACM/CCPC各有千秋,各有利弊,提升自己的水平才能立于不败之地。
对于C和java,c语言的主要优势就是轻便,运行速度比java快,对于大规模输入输出的程序设计题,java很吃亏,如果用Scanner的话90%以上都要超时,但是对于一些简单的程序设计题或是蓝桥杯的填空题,java是比c有些优势的,因为java封装的方法很多,比如进制转换,数组排列都是有封装过的方法,减少做题用时。
当然,最好的就是两个语言都会用。