速成蓝桥省一

蓝桥速成攻略

语言篇

  • c:优势在于运行速度快,占用内存小,因为题目会对你的程序进行内存和运行时间的要求,就算你的题解正确,如果超时或者超过限制内存,一样判错,但只是个别用例。
  • python:上手快,一天掌握基础语法,第二天就可以开始刷题,缺点是运行时间和内存占用较大。

​ 我的建议是选择python,编程语言一通百通,不管学哪一门都不会影响别的语言的学习,反而会促进加深理解,如果只是为了一个奖项,不打算深入acm,选择高效的方式是性价比最高的。

​ 回到超时问题,一般题目会给针对你的程序拿5-10个左右的测试用例去测试你的程序的返回值,如果逻辑正确,一般只有一到两个的较大输入值会让python产生超时的结果。只判错一到两个,只影响得不到全分,大分值还是可以拿到。

​ 其次是解题速度,python语法简洁,在编写时速度较快,且出现的语法问题要比c少。

学习路线

打基础篇

​ 如果有编程基础,看文档,看书是学习python最快的,

推荐的学习网站有

​ 如果觉得编程基础薄弱,看视频会更好的理解,缺点是时间较慢。

推荐的视频系列有

​ 视频和电子书的内容,不需要全部看完理解,只需要掌握基础的内容解题就够用了。需要掌握的基础内容如下,我给几个问题自检一下

  • 熟悉所有数据类型的相关操作
    • 字符串(拼接,拆分)
    • 整数,浮点数的各种运算符
    • 数组,列表,字典,集合(查找,排序,增删改查)
  • 熟悉所有控制语句
  • 熟悉定义和调用函数
  • 能够进行简单的文件操作
  • 处理用户的长输入,多处输入,重复输入

以上内容,一天就可以掌握,第二天开始刷题。

刷题

推荐的刷题平台有:

​ 其中主要推荐力扣和PTA,力扣可以看到别人的解法,如果做不出来,就不要浪费时间,直接去看别人怎么做的,有看不懂的函数就先拿去菜鸟教程搜这个函数的用法,还是看不懂,就把代码复制下来发给gpt让它给你解释。

​ PTA的题目全,由易到难都有。而且题目在CSDN基本都能找到答案。缺点是看不到测试用例。

算法学习

​ 其实这一块我都没啥发言权,虽然拿了个蓝桥国奖,但我其实没系统学过算法。而且那点基本的东西其实数学思维好一点自己也能想得出来。

​ 算法就相当于给你套公式,这里的话,中等难度题目里面会遇到的比较多的就是这几类

  • 简单递归
  • 深度优先搜索
  • 广度优先搜索
  • 最短路径算法
  • 动态规划

​ 这些东西在我给你的那本PDF里面都有,那本书是最近新出的,写的很详细,面向算法零基础。有案例代码有图解。

如果看书看不懂的话,可以去B站单独搜索相应例子。

进程安排

​ 蓝桥是四月比赛,时间其实还非常充足,寒假一个月的时间足够学习上面的东西。

​ python语法的概念只需要花一两天时间看就行了,然后就开始刷题,忘了语法或者函数用法就回头去看去查,编程只有用熟悉的,没有看熟悉的。最早就是在刷题中熟悉python语法,所以对题目做不做得出来不用有啥要求,每题都看答案也无所谓,看懂就行。

​ 在能够独立做一些基础题之后,比如什么水仙花数,斐波那契数列,求质因数,一个区间素数和,就可以开始啃一点算法了。有针对性的啃,理解完概念就单独照着那一种题型练,不要每一样看一点,每样看一点的结果就是都做不出来。

​ 蓝桥总共十道题,又是面向大学生的比赛,考的算法不会太难,上面说的那几样,十道里面总碰的上,再难的算法就不考大学生了。所以保证能拿的分拿到就行。

应试技巧篇

​ 考试时长4小时,十道题,两道填空,八道编程

​ 需要注意的是,蓝桥在比赛的时候,只让你提交代码,你自己做的对不对,自己是不清楚的。所以,一定一定要考虑边界条件!

​ 比如让你算二十一世纪有多少个闰年,结果没算上2100年。因为填空题的答案只有一个,错了就一分没有。而且我们是短时间练出来,后面的大分值我们也拿不到,所以两道填空题是最基本的下限,是绝对不能丢的分。考虑所有的边界条件。

​ 同理,因为看不到他的测试用例,在能做出来的编程题里,我们也先在本地多测试。大数字,负数,根据题目的要求输入。把能想到的特殊情况都测试一遍。比赛会发草稿纸,必要时候手算检验一遍,一般情况我们时间都是非常充足的,因为后面的题目咱不会,所以把能拿的分拿到就好。

​ 当然,后面的题我们不会,也不代表我们要交白卷,蓝桥的测试是程序检测,程序进行输入,只要答案对一个就有一个的分。在每道题的题干里,通常会给一个例子。我们做不出来题目,就把这个例子照样子输出出来,在部分题目中,例子也会作为测试用例出现,所以能蹭的分一定要蹭。

​ 这个蹭分有个小技巧,蓝桥官方是会想到有人这样蹭分的,所以他们有一套检验机制,就是如果你程序行数很少,运行时间和占用内存也非常小,是会被直接判无效程序的。比如你的程序只有一行print,占用就非常小。这个时候虽然你输出的是一个正确答案,但不会被算作有效程序。所以我们在输出例子中的内容蹭分的时候,先写几个没用的for循环,套两层for循环,一个循环一百次,占用一些内存和时间,然后再在最后输出内容。就可以蹭到分了。


速成蓝桥省一
http://example.com/2023/12/14/速成蓝桥省一/
作者
To1y5
发布于
2023年12月14日
许可协议