2018第九届蓝桥杯省赛,国赛参赛经验心得分享(JavaB组)

我来自广东某大学,今年大一,刚刚参加完蓝桥杯,这是我的第一篇博客,希望能给你带来一些帮助,不足之处希望指正。

关于比赛前的一些经历

原本想要大二才接触这个比赛的,赶巧在2017年12月14日那天有个外校的同学跟我说他报了这个比赛,并且说服我去水一波,当时在学校的际遇也并是很好,心里感觉也挺不错的,花300快钱水一波经验试一下。赶巧在比赛报名截至那一天找了叶师兄报了名,报的是java,B组,记得当时师兄跟我说既然报了名就好好去学一下数据结构。那个时候连数据结构是什么都不知道,java也才刚刚学到类,记得记忆犹新的是当时因为一个static怎么用问了我吗助班连师兄好久,其实我很多内容都没了解过。匆匆过完了第一学期,我们当时学的是C语言,所以就没怎么去学java,寒假的时候才正式开始准备蓝桥杯。

省赛前的学习

寒假有两个月的时间,我大概花了45天左右的时间在学java的一些基础语法,和一些算法,当时买的书是《算法4》,不得不说一下这本带我入门的书,插图很多,结合代码和图理解起来比纯代码真是好太多了。记得第一个去动手实践的算法是牛顿的迭代法求解平方根,当时觉得非常奇妙,之后就是第一章震惊了好久的并查集算法,于是开始入坑。。。在这些日子里,我的学习进度非常缓慢,没人在身旁指导一下,一个算法经常要花费很长的时间才能理解,到了寒假结束的时候终于缓慢前行到图算法了。。。dfs!仿佛打开了另一个世界的大门!开学,也就是省赛前一个月,开始刷题,很多问题基本都不会,经常看完答案才能自己去实现,很多问题也都是纯暴力去解决,在蓝桥杯的官网上做了一些题 ,把基础题都做了,做了一些算法提高和一些真题,我发觉我开始有遇到瓶颈了,算法的瓶颈和思维的瓶颈!于是我又开始拿起算法四那本书,补了图算法里边的单元最短路dijkstra算法和多源最短路 floyd算法(已经接触了动态规划了),开始解决一些迷宫问题和一些最短路问题,后来记得有一道题叫国王的烦恼吧,借着这道题我又学了一个图算法Kruskal算法,当时还有一个prim算法,但我实现起来并不是那么轻松,它是基于dijkstra实现的,而我比较喜欢并查集,于是我选择了Kruskal算法,这大概就是我在省赛前准备的图算法吧。思维的话,开始去学习动态规划,学习动态规划的过程是艰难的,一开始我难以理解为什么是这样子的,为什么短短的几行代码却充满了如此神奇的力量,于是我找了一个入门的文章学习了一下,初步入坑(其实我到现在都还是初步入坑的状态,题目太灵活了,自己思维还是很局限,难以解答),有了搜索了基础,于是自然而然地过度到记忆化搜索,于是开始学习动态规划,这是我当初入坑的一篇文章https://blog.csdn.net/rock_joker/article/details/68928150  终于到了省赛前两周了,我把往年的题目拿出来刷一波(其实基本都已经看过题解的了),保持一下手感,不得不说的是比赛的状态还是蛮重要的!

省赛:

4月1号开始比赛,比赛时间是9点到13点,我的一些建议是比赛前一定要吃饱,我当时吃得不是很饱,幸亏开考前有个师兄给了我个面包!我题目也记得不是很清楚了,大概就是第一题算日期很简单,不要粗心就好了,第二三四我都凉了,一道是求面积,一道是摔手机(我到现在还不会),一道是大数运算(得结合文件输出),第5题代码填空是一道排序题(好像省赛很多次填空题都考排序),大题的话应该是AC了两题半或者3道,最后一题自己瞎写了个公式能过样例。。。具体什么情况也记不太清了,所以总AC题数在应该是2小题,2.5-3大题这样子,最后结果也很不错,省一,成功入围国赛,记得当时知道自己入围国赛的心情是多么地激动啊,大概就是就差一声吼了吧,毕竟可以去北京玩一趟,哈哈哈!

省赛结语:

其实这一次省赛难度还是不小的,数学问题还是挺多的,之后的省赛应该会越来越有趣。说实话,根本就没用到什么高深的算法,什么最短路啊,动态规划啥的都没用到,只用了个并查集(其实dfs完全可以简单搞定,是我自己想得复杂了点)。

终于来到了国赛啦!!!

国赛前的准备:

四月份的时候事情比较多,基本都没怎么准备国赛,5月份才准备国赛,当时买了本《挑战程序竞赛2》(其实不适合这个比赛,基本用不上),然后就是大概就是把17年国赛的题目都刷了一遍。这一次又多准备了几个算法(结果一个都没用上),把最短路问题整理了一遍,单源最短路是dijkstra(不能解决负权重,可以使用优先列队优化一下,时间是线性对数级别的),AcyclicSP(无环最短路,不能解决有环图,基于拓扑排序,时间是常数级别的,),解决负权重的是SPFA(国人发明的一个算法,其实是优化了BF算法,可以解决负边,不能解决负环,时间是kE,大大优化了BF算法),多源最短路依然是floyd。然后还补了一个优先级下调的并行任务关键路径调度算法,其实是AcyclicSP的一种转变。动态规划稍微整理了一下,01背包,完全背包(老是要和01背包混了),计数dp(看情况),组合dp(有点难),又学了一个状态压缩dp(简单了解了两道例题,太难了),(也都没用到。。。)又补了个线段树_扫描线_离散化扫矩形面积并问题(只会扫描矩形,有道题叫油漆面积,然后也没有用上。。。)  然后上考场!

国赛:

今年的国赛比去年的容易好多啊。。。1,2题很快就算完了,第3题一开始做不出来有点紧张,去做了4,5题,做完回头把第三题也做了出来,第六题压轴。。。难!看懂了题目结果却毫无想法!!这个时候还剩下两个小时,回头把题目都检查了一遍,自己写了10个样例给第四题,结果有一些样例过不了,结果一直在那里调试调试,越调越紧张。。。当时觉得简单就把所有代码都放在一个main方法里,结果就gg了(切忌!!!),其实这道题还是比较简单的,思路清晰一点就能简单A了。就这样比赛结束了!!国二,这个成绩对我而言还是十分不错的,毕竟国一跟国二的差距还是很大的。大概a了4道或者4道半吧,前3题,半道4题(可能全错),半道5题或者半道4题一道5题(如果题目不卡数据的话,我直接非常暴力的并查集,当时也想不出有什么好的优化方法)。这一次国一应该得5道半这个级别,第6题和前5题的跨多有点大,应该是来把国二和国一分开的吧。。。总的来说还是十分高兴的啦!毕竟以我目前的实力还是拿不到国一的!

最后:就是旅游啦啦啦!帝都的文化气息还是十分浓厚的,嘻嘻嘻!一天半的时间,去了北大(第一学府的学术氛围很浓厚,教学楼的走廊很多椅子座子,环境非常棒,走廊异常安静,大家都是安静的在那里,书或者课本,学习!去了你就知道哈,拿准考证就能进),然后去了圆明园(学生票5块),路过清华(进不去),夜晚去了鸟巢(门口循环放着北京欢迎你,嘻嘻,很有感觉),水立方,天安门,故宫(学生票20,我第二学期没盖章,结果用不了原价60。。。故宫很大),然后去了铜锣古巷吃。。。一天半的游玩行程结束啦。。。

此时....2018年5月27日 22:33:07

来年加油!

 

 

 

你可能感兴趣的:(蓝桥杯)