目录
个人情况
获奖方式
准备过程
考试技巧
总结
个人情况
江苏普通二本,2023年2月底开学的时候开始刷题,到4月的省赛,大概一个半月的时间,最后获得省一。两道填空都没做出来,其中一道还花了一个小时,还好后面编程大题做了4个半。在准备之前,只会C语言基本语句,对算法可以说一窍不通。报蓝桥杯的初心就只想混个证书,毕竟300都够出去吃好几次烧烤了。本文分享给零基础或者才刚刚开始准备的同学混个奖,大佬就别看了,哈哈哈哈。
获奖方式
比赛是OI赛制,除了填空题,每道题都有好几组测试数据,通过一组数据就有相应的分,所以现场做题的时候,做不出来的题目,尽量小数据能通过。可以重复提交代码,按最后一次提交的为结果最后根据个人总分省内排名,前10%省一,前30%省二,前60%省三。不看你总分,按百分比达到要求就可以了。
准备过程
一、输入输出语句练习
算法类竞赛,每道题都有规定的输入输出格式,而且必须固定。思想上对于数据的输出一定要严谨,输出数据多含一个空格字符,最后系统检测,即使数据正确也不得分。我刚开始的时候,连多组输入数据输入都不会。但是别紧张,自己写两遍体会一下,几分钟就都会了。
int main(){ int T; scanf("%d", &T); while(T--) { int m; scanf("%d", &m); /******************** 功能代码 /******************** printf("%d\n", m); } return 0;}
二、刷题网站及刷题
个人推荐就用蓝桥杯官网的题库,有历年真题,也有各种算法题,由简到难,题目已经很丰富了。网页版编程也很简洁方便,大多数题目都有别人上传通过的代码。最开始练习的时候,就从最最简单的题目开始,锻炼编写基本语句的能力,增加自己的信心,然后再找需要思考的题目。觉得差不多了,就可以开始看一下前几年真题,也是从最简单的开始做,再慢慢上强度。我到考前蓝桥杯刷了七十多题,平均下来每天就一题半。
编写代码一定会出错,但是不要气馁,纠错能力非常重要,不然现场你绝对是热锅上的蚂蚁!学会用输出语句找错,如果是程序运行结果输不出来,你把程序分段注释掉,然后在每个地方输出一些语句,能输出的就是正常部分,输出不了的就是问题所在。
for(; :){ }printf("11111111111111\n");for(; ;){}printf("22222222222222\n");
还有一种情况,程序输出结果不正确,可以在循环体内每次循环结束输出变量的值,来判断是否错误。
int a, b;for(; ;){ a += 1; b += 2; printf("a=%d b=%d\n", a, b); //循环体最后打印每次运算的中间结果}printf("%d %d\n", a, b);//假设a和b最后输出的结果不对
在编程过程中,尽量让自己专注一点,思想集中之后,效率是很高的。如果有时候学累了,或者学不进建议放松玩一会儿,干坐着没状态看代码,基本上学不进去。前一个月可以慢慢刷题,注重学习一些思路和方法,后半个月就要进入状态了。模拟在现场做题,看到一道题,大脑要快速飞转,该打草稿打草稿,尽量用最快的时间编写。现场考试总共4小时,今年只有十道题,往年都是十几道,时间是非常紧的。做过的题,也要回头看看,我当时就就存在第一次做得出来,过一段时间竟然没写出来的情况。
除了平时刷题,平时有时间也会看下算法书,当时是看了舍友(前一年的C/C++省三,今年的单片机省一)的《啊哈!算法》,大家可以借着看一下,有插画,理解起来会容易些。B站上“麦克老师”也有根据这本书讲算法的视频,当时看他的深搜和广搜,都讲得深入浅出,新手很容易懂。刷题刷到一种自己很难明白的题目,就去B站看相关算法的视频。
考试技巧
正如上面所说,编程题都是按通过的测试数据给分。碰到有些编程题一点思路没有,或者说时间也不支持了,可以观察一下输出结果的内容,有些是输出运算的数值,有的是输出“Yes”和“No”,还有的是存在无解的情况下输出“0”。比起一分拿不到,通过一两组数据就有分了,那么大家,懂了吧。
策略很重要!现场遇到做不出的题目,或者想好几分钟没思路的题目就赶紧弃了吧,后面有时间再回头。把能拿到的分先抢到,一道题花了不该花的时间,即使做出来,也是很亏的,你会发现后面你还能做的题根本没时间了。
总结
回头看,省赛的题目还是相对简单一些的,只要付出一些时间,花点功夫,拿个奖绝对是没问题,一定要相信自己。虽然是一个半月,但是我当时是下定决心要拿到证书的,那段时间复习得还算认真,当时成绩出来我也震惊。最后祝看到此文章的同学们,蓝桥杯旗开得胜,都拿省一!