相信很多球友都报名了明年的蓝桥杯,作为之前混过一次蓝桥国奖的算法小白😁,分享一下学习经验,acmer 和 oier 可以直接划过。针对很多仅仅学过学校 c 语言或者数据结构(只会概念,不会敲代码)的同学,应该怎么从算法零基础 => 算法小白?
首先说一个很多人都有的误区,仅仅学过 c 语言或 py,java 等这些语言的基础语法,是否要买一本数据结构,从数据结构开始学,如果时间充裕可以,但不推荐,因为这样效果很慢,而且最关键的一点是
理论 =》 有思路,写出代码 =》 debug 并提交正确
每一步都有很大的跨越,所以,是否了解指针实现二叉树,红黑树.... 这些概念和写对算法题的意义不大。正如 yxc 直播间的某架构师所言:算法不是理论,写几行代码看看
那么,有些同学好奇,不会使用 vector,queue,hashmap, set 等等这些 stl,甚至没有听说过这些名词,应该怎么学习 stl?
个人建议是通过一些语法题和博客来学习使用这些 stl,把这些 stl 熟悉到会写头文件这种熟练程度。出现频率较高的有序表,栈和队列,哈希表,哈希集合,优先队列,字符串,可以照着一些博客写的 stl 进行练习,一般学一个容器,需要关注的几个重点:元素的增删改查,获取容器大小,遍历;把这些用法搞懂,就可以找一些相关题目进行联系了。
两种方案:
(没有任何收费推广成分,单纯推荐。)
①速成方案(付费):买acwing算法基础课(149) + 蓝桥辅导课 (日常优惠价格199)/ 牛客雨巨讲的算法入门也不错(难度介于基础课到提高课之间,150),准备国赛的话,可以考虑尽早刷提高课;(不推荐看盗版,因为只看视频,不写题等于没学)
②稳定方案(平民):自学,效率较慢但如果每道题目都是经过大脑认真推敲思考再豁然开朗,比第一种方案更好,题目驱动学习:去洛谷官方题单(题单列表 - 洛谷),每个题单刷80%以上,和牛客入门题单(【新手上路】语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/...),每个题单50%就差不多熟练了,怎么学习一道题,首先看看自己能不能做出来,思考时间留 30 分钟以内,如果做出来,看看题解上其他人的解法,看懂之后,理解思路后能默写下来,不要照抄或者 cv,或没有做出来,且看不懂其他人的解法,这时候需要的是复制题目名称,用搜索引擎搜一下这个题目,推荐 bing 或 google 搜索,找到一篇合适的博客,直到学会为止。
对于b组
一句话总结,蓝桥杯又称 dp 杯,熟练动态规划者得国一..
codeforces(英文,质量高且最流行)
atcoder(英文,出题水平高偏锻炼思维)
牛客上的各种比赛(小白赛,高校练习赛等)
leetcode 周赛和双周赛(题目难度不确定)
acwing周赛
关于真题部分的练习:推荐两个网站的蓝桥真题练习:
以上推荐直接在搜索引擎搜索关键字即可搜到,希望参加蓝桥的鱼友们,都能顺利拿下国一,加油!!!
💎 加入星球后,您可以:
外面一套项目课就上千元了,而星球内所有项目都有指导答疑,轻松解决问题
星球提供的所有服务,都是为了帮您更好地学编程、找到理想的工作。诚挚地欢迎您的加入,这可能是最好的学习机会,也是最值得的一笔投资!