蓝桥杯python组备赛指南

前言

最近结束了比赛,我对比赛的过程进行了详细的复盘,并计划撰写一篇文章。这篇文章旨在为准备参加蓝桥杯的学弟学妹们提供帮助,我希望我的文章和笔记能对你们有所裨益。

我觉得我应该算是很普通的学生,python基础基本为0,因此这篇文章的适用对象应该是大部分普通人。对于这个比赛来讲,首先花几天时间基础知识掌握以后,就可以开始刷题了,从题目中总结知识。

蓝桥杯有很多赛道,加上每个人的目标不同,所需要付出的努力也不同。不过我觉得最重要的还是把前几道题拿到手,在此基础上,如果还学有余力,可以去体系化再学学难点。那么个人认为按照重要程度,知识点的排序应该是:

  • 模拟(至少刷题100道)
  • 排序
  • 贪心
  • 二分
  • 搜索(DFS、BFS)
  • 动态规划
  • 前缀和与差分
  • 并查集
  • 简单数论(排列组合、质因子分解、二项式定理等)

个人觉得把这些掌握,省一已经足够了,也需要至少4个月以上的时间。剩余的也就是后面的几道题了,也是难点,性价比没那么高,需要系统地学习数据结构与算法,比如:

  • 图论(最小生成树、图的连通性问题、欧拉回路、DFS序、网络流等)
  • 数论(生成函数、莫比乌斯反演等)
  • 高级字符串(拓展kmp、AC自动机、后缀自动机等)

刷题网站

  1. 官网题库
    题库 - 蓝桥云课

  2. C语言网(不是只能刷C语言,题目均支持C++、python、JAVA提交)
    编程入门题库_蓝桥杯ACM在线编程训练 - C语言网

  3. 洛谷
    洛谷

  4. AcWing
    题库 - AcWing

idle操作

按照官网文件来看,python编辑器只能用idle,相比pycharm 和 vscode 体验肯定差远了,但是还是要做充分的准备。(我当时的考点是已经安装了vscode,但是具体还是要视考点情况,因此还是要学一下idle的)

快捷键功能
alt+/代码补全(前面出现过的变量或函数)
alt+p上一次输入
alt+n下一次输入
alt+3批量代码注释
alt+4批量取消代码注释
ctrl+[左移4个字符(多行适用)
ctrl+]右移4个字符(多行适用)
tab代码补全(提前在idlelib\config-extensions.def修改弹出时间)
enter+ctrl+D结束多行输入
ctrl+z撤销上次输入
ctrl+shift+z反撤销上次输入

常用标准库

比赛只能用自带的标准库,所以像numpy这种扩展库肯定用不了的,下面列出了一些常用的标准库:

math

  • 数学常数

math.e:自然常数e的值,约等于2.71828

math.pi:圆周率π,约等于3.1415926

  • 数学函数

math.sqrt(x):返回 x 的平方根。

math.pow(x, y):返回 x 的 y 次方。

math.exp(x):返回 e 的 x 次方。

math.log(x, base=math.e):返回 x 的对数。base 参数为对数的底数,默认为自然对数 e。

math.sin(x)、math.cos(x)、math.tan(x):返回 x 的正弦、余弦和正切值。

math.asin(x)、math.acos(x)、math.atan(x):返回 x 的反正弦、反余弦和反正切值。

  • 数值操作

math.ceil(x):返回不小于 x 的最小整数。

math.floor(x):返回不大于 x 的最大整数。

math.trunc(x):返回 x 的整数部分。

math.modf(x):返回 x 的小数部分和整数部分,以元组形式返回。

math.fabs(x):返回 x 的绝对值。

math.factorial(x):返回 x 的阶乘。

math.gcd(a, b):返回 a 和 b 的最大公约数。

datetime

import datetime
a=datetime.datetime.now()
b=datetime.date.today()
c=datetime.date(2024,2,23)
d=c+datetime.timedelta(days=1)
print(a)
print(b)
print(c)
print(d)
输出:
2024-05-13 16:01:49.449062
2024-05-13
2024-02-23
2024-02-24

还有itertools、calendar等,考虑到文章的易读性,很多知识还在笔记里。相信站在我的肩膀上,你能更快地实现目标,笔记获取地址(笔记全部是自己整理的,请尊重别人的劳动成果,低偿,一杯奶茶钱不到,想白嫖的就算啦~):
蓝桥杯python组备赛笔记(超详细版)

常见Q&A

  1. 赛道应该选择C++、Java还是python啊?
    如果都没学过,只学过c语言,那么建议还是python或C++,其余的,肯定是报自己擅长的啦。
  2. 一般准备多久能拿省三或省二?拿奖外 别的收获?
    我个人觉得无论是研究生组或A组的话,从0开始至少需要2个月左右的时间,而且是每天都学,其余的BC组应该1个月左右。蓝桥杯奖项设置是:省一(10%)、省二(20%)、省三(30%),所以努力2个月加个综测分应该还是比较划算的,最重要的是在这个过程中,对于一门编程语言的入门,会学到很多东西。大多数人内驱力还是比较弱的,相比没有竞赛的压力的自学编程语言,报名一个编程比赛 后的自学更有动力,自己也更自律!!!
  3. 刷题越刷越觉得自己是个废物,咋办?
    其实这也是我的真实感受,刷一个新的专题,自己就会严重受挫,现在看来,可能学习的过程就不是那么舒服的。但是李笑来老师告诉过我:
    一切都是心理建设
    因此,自己需要及时地钝感,哪怕是一道题,安慰自己说:搞明白都是巨大的提升;每一部分的都要练透。我也经常对自己说:学习任何东西都是需要耐心的,也是孤独寂寞的,但是挺过去,学会后自己的世界竟然有所不同。相信我,你并不孤独!!!

Location:江南大学,无锡,中国
Date: 2024/05/13

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值