关于蓝桥杯竞赛的几个问题
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
bobo老师,我是大二的一名学生,我打算明年4月参加蓝桥杯javaB组比赛,我现在所学的内容,大致为java基础
和您这门算法与数据结果,还有大概100天,我想问一下,我刷leetcode上的题难度够吗?还有没有更适合的刷题网站,有没有适合竞赛的书籍或者视频讲解,最好是手把手教学那种啊,我希望拿到省1就可以.
正在回答
因为我没有参加过蓝桥杯的竞赛,所以我不很确定蓝桥杯的难度。而且我听说蓝桥杯的难度也是分级的?我不确定具体你参加的比赛难度。
但是通常来说,对于算法竞赛来说,Leetcode 是远远不够的。Leetcode 的目标是算法面试,虽然如果你能做到 Leetcode 的比赛每次四题轻松答出来,肯定已经远远超过面试所需要的水平了。
国内最有名的竞赛的书籍是这套书籍。我可以客观地说,这套书籍其实不够好,更达不到你说的手把手教学的程度,但除此之外,我确实没有见过更好的:https://item.jd.com/36399547455.html
算法竞赛少有手把手的详细教程,这是因为通常算法竞赛的涵盖面太广了,而且太灵活了,很难做到教一个套路,一类问题就够了。如果真是这样的话,算法竞赛就太简单了。以 ACM 为例,除了需要你能灵活运用更多算法和数据结构(而不仅仅是基础的)之外,还需要包括但不限于:离散数学,组合数学,计算几何,数论,图论,群论,等等的内容。
不过,刷 Leetcode 绝对是一个很好的开始(我不确定你的水平)。如果你觉得 Leetcode 上每周的竞赛问题已经对你来说太容易了的话,我的建议是,刷这些网站的问题:
1)https://binarysearch.com/ 比 leetcode 难一点;
2)google kick start: https://codingcompetitions.withgoogle.com/kickstart google 的比赛,但也是面向 google 招聘的,可以达到算法竞赛的初级水平;(google 的另一套比赛是竞赛水平,更难一些:https://codingcompetitions.withgoogle.com/codejam )
3)https://atcoder.jp/ 比赛分 ABC,ARC 和 ARC。ABC 问题的最后一题通常能达到竞赛水平;ARC 比赛是竞赛水平;AGC 的比赛达到很高的竞赛水平;
4)https://codeforces.com/ 非常有名的竞赛网站了。比赛分 div 3, 2, 1,基本可以看做对应 atcoder 的 ABC,ARC 和 AGC。可以根据自己的水平去看相应的比赛问题。我个人感觉 codeforces 会更难一些,div 3 的最后两题已经能达到竞赛水平了。
以上是我比较推崇的训练网站,其实还有很多,我觉得知道那么多刷题网站意义也不是很大。另外,上面的网站我主要列举的是国外的网站,但国内应该也有不少,不过我不是很熟悉。(并且我目前整体认为国内大多数 OJ 不如国外的这些 OJ)
另外,我列举的这些 OJ,所有问题都有题解(不过是英文的);大多数都能依照标签和难度对题目进行筛选,作为训练挺合适。
你看,我主要说的都是你在哪里可以训练,这其实是和大多数高校的 ACM 的训练模式一致的。他们讲不讲课?讲课。但讲课只占训练特别小的一部分。这些讲课内容,上面这些 OJ 的题解,包括论坛的一些讨论,完全可以覆盖。准备算法竞赛关键还是要训练。
以 DP 问题为例,其实就那么几种模型,但灵活运用起来,非常困难。整体,我认为,见过 100 道 DP 问题,算法竞赛这个难度的 DP,在我看来才算是入门呢:)
加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星