浅浅记录一下大学第一次极大概率也是最后一次蓝桥杯...
先说结果:十五届 Java B组 河南赛区省二(虽然有点小菜,毕竟第一次参加经验啥的有所欠缺,结果差强人意还能接受)
目前省赛原题官网似乎还没有出,需要看题目和AK题解的宝子可以点下方这里移步小破站
官网出的话我再来更新^-^
(个人觉得这个阿婆主讲的还不戳~当然如果能搜到更好的更官方的题解也都可以参考)
B站——十五届蓝桥杯Java B组AK题解视频
十五届蓝桥杯Java B组省赛真题已出:省赛真题可查(C语言网)
作为Java的打工人一枚,之前听说C++那边三道题20多分大概率没省三(都这么夸张的嘛?)出来听网上说今年的Java组比C++还难(尊嘟假嘟~)我们几个赛后在一块讨论的时候有的说今年有几道题用正规算法求解可能还会有几个样例过不了,感觉可能是Scanner输入容易超限?反正那些能优化输入时间复杂度的输入流我之前就随便看了一眼也没记全
但还是觉得传送门那道题自己忘了控制浮点数精度以至于全错了(好傻呗)要不然应该稳省一进国赛的,不过现在再说好像也没啥意义(按老师说的话我应该是排在省二前半部分,差一点点就能够到省一那种)
前前后后准备了小半年吧(大概是从寒假开始的)就每天会看一些Java实现的数据结构和算法课然后刷下力扣洛谷什么的,一直到赛前还没完全学完好像进度刚好开到回溯吧(并不是竞赛集训队的ACMer,感觉自己天赋也不太行,只能往里边砸时间和精力)赛前几天也在小破站看了好多前辈的临场经验分享啥的(嗯就那些啥暴力打表啥的具体我也忘了)
鬼知道4.13那天早上打印准考证的时候我为什么会迷之自信觉得自己肯定能回本儿(报名费300大洋赛后不报销,省三在我们学校能申请400单项奖学金,省二600省一800)直到看到题才觉得自己长脑子了...
做了近几年原题包括今年第一次实战,相对比之下感觉蓝桥杯越来越重视math这个玩意了,不仅仅是最开始的计算几何问题,今年第一道送分题上来就是纯数学找规律(后来在网上看有的佬敲出来题解代码但是跑了好长时间)食堂那道题列举模拟在草纸上涂画了半天(最后索性直接水分跳了)最优分组检测那道题当时看了老半天才发现其实可以用一个对勾函数概括规划几行代码解决了(虽然网上说对勾函数只能得一半分,正规题解应该是dfs还是dp来着)最后拼十字那道编程是最先做的,其实写的时候知道暴力会超限但还是先用暴力做了(具体有点忘了当时好像用二分又做了一遍)- -
感觉其实今年整体节奏还行,最后一小时心态有点做崩了,整个大脑基本上一片空白(自己也有点傻呗)以至于忘记了前面有道题要控制小数精度还有一直看分布式队列觉得他逻辑贼复杂就暴力随便拿样例分了(其实逻辑不难当时再好好想想肯定能写个差不多)
反正都过去了,毕竟也为之努力了,最后啥结果也都能接受(其实是摆烂了破罐子破摔随缘吧哈哈哈)
极有可能也是第一次也是最后一次啦!第一次打这玩意备赛周期觉得好长,毕竟算法也是永无止境的嘛。刚开始寒假在家那会啥也不会感觉要自闭了,还有亲爱的mom寒假来房间打扫卫生的时候总是时不时来戳一句“这有啥难的不就看看题目需求敲代码嘛”每次听之后其实挺无奈的(仅调侃无恶意)
哦对了身边也有的竞赛大佬ers也会觉得比赛只拿省一金奖啥的有用,其他的省二省三没啥区别doge(虽然可能是事实但咱别这么直接嘛毕竟省二比省三多200嘞 没有抬杠的意思嘛)...emm其实感觉尽力而为吧,算法竞赛本身都是长跑,蓝桥杯也只是其中一小步,比赛本来也就因人而异,毕竟备赛这个过程是真的带给我们好多正面的up的东西并能改变我们自身,能收获很多包括但不限于算法知识,所以说最后无论结果如何,进国赛也好拿什么奖也好赚钱回本也好亏300也好,只要我们认真努力(zi 四声wo三声 gan三声 dong四声)过了,一定是过程带来的收货与改变大于最后这个结果的~
虽然这个奖项和600也贼重要(doge
在最后还是适当给大家一些个人tips吧:
1. 首先对于一些IT竞赛的平民玩家,就可能是第一次系统的了解蓝桥杯这个东东,也可能是看着身边人报了出于好奇心自己也想追求进步,在上进心驱使下自己就报名了,在此之前自身并没有相关的大赛经验。我个人觉得比起那些数据结构和算法知识来说,更重要的是你的心态,一定要把自己的心态放平和,心态就决定着你的状态,无论是你临场心态还是备赛心态。其实蓝桥杯并没有你想象中的那么难(应该算是大学生榜单竞赛中较为简单容易的了)
关于备赛阶段:才开始接触算法大家都会觉得很难很抽象,刷题打头都觉得无从下手,看见啥都不会写,确实会很绝望很焦虑(跟我寒假那会儿一个样子)别妄自菲薄,可以先从简单的算法题入手(比如著名的A+B问题)相关算法知识也可以跟一个自己能适应的算法课程包边听边学
这里分享一下我当时学Java算法的时候的课程包,同样在小破站:
Java大厂必备数据结构与算法上篇 Java大厂必备数据结构与算法下篇
ps:并不是说这个讲的怎么怎么好,大家学的时候可以选择那些适合自己的,毕竟每个人需求不同嘛
更重要的是练习刷题和算法实现,看懂听懂之后还要拿手敲出来,第一遍尽量别求进度快,别想着花费几个月时间就能把算法的东西全部学完,不现实(能学完比赛出对应的题也未被能得多少分)能稳扎稳打慢慢来,多刷多刷多刷对应的题目巩固一下(重要的事情说三遍)
关于临场阶段:
首先给大家搬运过来官网上蓝桥杯Java软件开发组的开发环境:
JDK 1.8
比赛用机编译器是Eclipse-java-2020-06
API帮助文档
学Java的同志应该大多都在用IDEA吧,而且做开发的话一般常用JDK 8,建议大家提前在自己电脑上下载相关JDK和Eclipse编译器(尽量找到对应比赛版本)做一些适应练习,比如怎么在Eclipse上配置JDK,怎么做一些代码基础设置(字体样式大小,快捷格式化,汉化等)之类的,Eclipse和IDEA虽然整体有些相似但是有些地方差别也不小,毕竟你也不希望到赛场上了发现自己不会在Eclipse上配置JDK,到时候连代码跑都跑不了(虽然现在大多赛点都会提前给你配好,但是最好提前要知道怎么配置以防万一,因为我们学校都没给配让我“辛辛苦苦”又重新配了一遍)关于JDK的问题,这个也是最重要的,JDK 1.8会少一些你平常觉得很酷很好玩很花绿呼哨的方法,赛前几天练习的时候尽量用赛场环境进行练习,多看一下相关的1.8的API文档,多用一些数据结构和常用方法,提前熟悉一下赛场环境
坐在赛场上的话就别紧张啦,每年蓝桥杯都会有签到题的,难度都不大只要好好思考一下都是可以求解的。省赛时间4个小时,时间其实过的很快,注意合理分配自己的时间,建议做完填空后可以先整体浏览一下大题,因为大题难度并不是按照题目顺序递增的,有可能简单的题在最后,毕竟先易后难。有的题可能你有个大概的逻辑和解题思路,就先把对应代码交上去一版,最后有对应题解思路再修改(OI赛制就算最后想不出来AK代码也会按过样例给分)
条件允许的话除了笔和准考证身份证,也可以带一些巧克力奶糖之类的,别学我早上起床没吃饭就去比赛最后一个小时纯坐牢0.0
2. 其次是一些中分段玩家,有算法的基础,也有像蓝桥杯这样的计算机竞赛经验的这类人群(跟我目前一样)如果不想报完名白白捐款或者想在蓝桥杯中拿到一个好的奖项,可能确实需要好好准备一下了(毕竟报名了谁也不想留个遗憾)在网上可以找到蓝桥杯对应的比赛高频考点难点,针对性的突破一下,多做一些高分题。身边好多人都在用ACWing(亲试确实好用),我个人用的刷题网站就很杂了,力扣洛谷牛客还有我们学校OJhttps://nyoj.online/甚至我们工作室内部自己搭建的OJ网站我都有在用,赛前我还在蓝桥云课看过原题。毕竟想要拿到省二甚至更高的奖项的话,在赛场上很多时候还是要真真正正的写出来AK一两道题滴。特别是Java选手,我觉得有必要学一下一些节省时间复杂度的算法,比如Scanner类耗费的时间要比一些输入流多很多,有时候可能就因为调用了Scanner输入导致运行时间超了,还有一些图论、贪心以及动态规划之类涉及到能优化时间和空间复杂度的算法,力求过更多甚至全部样例得到更高分,不能只想着暴力求解得分。此外蓝桥杯每年都会有几道与数学知识相关联的题目,可以再看一些数论等涉及数学方面的知识,确实会对蓝桥杯有些题目的求解很有帮助
3. 最后就是一些骨灰级玩家,尤其是一些专门打比赛的ACM大佬和国奖佬,这我就没啥说了,我个小菜鸡也不配~(doge
Last but not least:
也是之前听网上有人说的,往届蓝桥杯评奖是按照大赛设定的获奖比例来评议奖项,从这届蓝桥杯(15届)开始,以后的每一届都会请相关专家划对应的分数线,根据分数线来评定(不知道真假要是看隔壁C++情况像是真的)可能是今年题比较简单的缘故,看起来今年我们学院的成绩还挺好的,获奖情况也比前几年乐观很多,我们那个工作室大一就参赛的这次应该是拿回来了C++组的2个省二和1个省三。如果真的按照分数线来评定的话,题目整体的难度一上升其实对于那些只想要回本水奖省三这个层面的人来说会更难,当然有弊也有利,可能像今年题目容易的话暴力加运气真就省三回本了...
当然各个省的情况也不一样,我们这边虽然不能说是弱省但也算不上强省(虽然人多但是全省只有一所211一所双一流)具体还要参考实际情况,个人觉得只要赛前做好充分准备了,大概率是亏不了的。
之前我们几个一块打比赛的哥们还想着万一进国赛这300(进国赛我们还要再交300)就算跟着学院出去玩了,也是去别的大学转一圈,前几天听说我们学校今年把国赛赛点申请下来了,这下倒也省事了><