如果你想加入算法比赛的倡议越早越好。大一或者更早就须要筹备起来了。如果你曾经快毕业了,那就没有必要筹备了,当做趣味加入一些力扣的较量也是不错的。
<!-- more -->
题库
算法面试的考查内容相比算法面试更多,难度也更大。比方数位 dp,倍增,乘法逆元都须要把握。而这些内容在算法面试中呈现的却不多。
题库的话有很多 OJ 网站。然而题目都太多了。
这里举荐两个网站,一个适宜比赛选手,一个适宜一般求职者。
CSES 这个网站比拟适宜比赛选手,题目有 300 道,刷完还是比拟快的(绝对于其余老牌 OJ 平台),地址:https://cses.fi/problemset/
另外一个是 BinarySearch。用户体验做的很好,题目难度和力扣差不多,难度稳定感觉比力扣小一点点,地址:binarysearch.com/
练手较量
权且先举荐三个平台吧。
其中一个是 codeforces, 这个参加比赛的人晓得的比拟多, codeforces 是寰球范畴内每次较量加入人数最多的比赛平台。普通人可能不太晓得。这个网站的比拟难度偏大一点,品质也更高。打过的人都晓得。
第二个是 Leetcode。这个大家可能据说过。目前力扣有两种赛事。
- 周赛:每周日早上 10:30
- 双周赛:每两周一次,北京工夫周六的早晨 10:30开始
力扣的难度比拟入门,适宜老手。不过难度稳定其实也不小,难度低的时不时是手速场,难度高的话只有能做进去(即便是卡点做进去)都能进前 100。
最初举荐一个是 Google 较量,有三个等级。
- Kick Start:新手入门级,也是Google面试的敲门砖,每年举办八轮。
- Code Jam :Google的王牌赛事,也是最重要的赛事,分为资格赛、A轮、B轮、C轮和决赛。决赛每年有25个名额。
- Hash Code:一项团队赛,与个别编程比赛不同,赛题个别为没有最优答案的优化问题。分为资格赛和决赛两轮。
学习网站
OI wiki 是一个内容比拟全,深度也笼罩较量的网站。外面的内容大略看了下,大部分不错,少部分是从网上抄的,品质也个别。如果你有肯定的鉴别能力,这个网站是十分不错的。地址:https://oi-wiki.org/
比方图论的 OI-wiki 目录是这样的:
CP-Wiki 是集体的 Competitive Programming 学习材料总结。外面不仅有各个知识点的总结。
常识总结是纲要性质的,比拟简略,适宜拿来查缺补漏。
而且还有各个较量的题解,强烈建议学习比赛的你珍藏。
学习图书
《算法比赛进阶指南》
举荐浏览李煜东的《算法比赛进阶指南》。他有丰盛的参加比赛以及培训比赛的教训,同时他也是 Google 的工程师。
李煜东曾为NOI系列比赛、NOI导刊培训基地以及全国各地多所学校的选手授课,并在网络上组织模仿赛数十场,经验丰富、解说透彻、广受好评。屡次帮助石家庄市第二中学的信息学比赛集训工作,参加北京大学“数据结构与算法”、“算法设计与剖析”的课程教学、考试命题工作。
豆瓣评分 9.1 ,大众的眼睛还是雪亮的!
这种书在算法比赛中知名度还是很高的。你如果筹备算法面试的话可能据说过。 如果没有据说过,当初无妨买来看看。
附上这种书的目录给大家:
0x00 根本算法0x01 位运算0x02 枚举、模仿、递推0x03 递归0x04 二分0x05 排序0x06 倍增0x07 贪婪0x08 总结与练习0x10 根本数据结构0x11 栈0x12 队列0x13 链表与邻接表0x14 Hash0x15 字符串0x16 Trie0x17 二叉堆0x18 总结与练习0x20 搜寻0x21 树与图的遍历0x22 深度优先捜索0x23 剪枝0x24 迭代加深0x25 广度优先捜索0x26 广捜变形0x27 A*0x28 IDA*0x29 总结与练习0x30 数学知识0x31 质数0x32 约数0x33 同余0x34 矩阵乘法0x35 高斯消元与线性空间0x36 组合计数0x37 容斥原理与Möbius函数0x38 概率与数学冀望0x39 0/1分数布局0x3A 博弈论之SG函数0x3B 总结与练习0x40 数据结构进阶0x41 并査集0x42 树状数组0x43 线段树0x44 分块0x45 点分治0x46 二叉査找树与均衡树初步0x47 总结与练习0x50 动静布局0x51 线性DP0x52 背包0x53 区间DP0x54 树形DP0x55 环形与后效性解决0x56 状态压缩DP0x57 倍增优化DP0x58 数据结构优化DP0x59 枯燥队列优化DP0x5A 斜率优化0x5B 四边形不等式0x5C 计数类DP0x5D 数位统计DP0x5E 总结与练习0x60 图论0x61 最短路0x62 最小生成树0x63 树的直径与最近公共先人0x64 基环树0x65 负环与差分束缚0x66 Tarjan算法与无向图连通性0x67 Tarjan算法与有向图连通性0x68 二分图的匹配0x69 二分图的笼罩与独立集0x6A 网络流初步0x6B 总结与练习0x70 综合技巧与实际0x71 C++ STL0x72 随机数据生成与对拍0x7F 附录
如果你不打算参加算法比赛,我也倡议你买过去看看,不过内容能够选择性看看即可。如果你也不晓得应该看哪局部,能够在我的交换群中进行探讨,公众号力扣加加回复 leetcode 进群。
《Guide to Competitive Programming》
《Guide to Competitive Programming》这种书我本人没有读过。不过听敌人说内容不错,大家能够试读一下,看看目录是否适宜本人。
BTW,后面提到的题库网站 CSES 也举荐了这本书哦。
总结
大家如何想参加算法比赛尽量趁早,倡议至多从大一就开始学习。
倡议大家卖一本书系统性学习,而后找个题库跟着刷题。题库刷完之后再去参加较量。较量实现后能够看下大家的题解,不论本人有没有做进去,做进去也看看他人的做法是不是更好。通过这样的一条残缺路线,我置信大学期间拿个名次,进个大公司还是不成问题的。当然进大公司还要其余方面也不差才行