关于leetcode:如何准备算法竞赛

10次阅读

共计 2382 个字符,预计需要花费 6 分钟才能阅读完成。

如果你想加入算法比赛的倡议越早越好。大一或者更早就须要筹备起来了。如果你曾经快毕业了,那就没有必要筹备了,当做趣味加入一些力扣的较量也是不错的。

<!– 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 Hash
0x15 字符串
0x16 Trie
0x17 二叉堆
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 线性 DP
0x52 背包
0x53 区间 DP
0x54 树形 DP
0x55 环形与后效性解决
0x56 状态压缩 DP
0x57 倍增优化 DP
0x58 数据结构优化 DP
0x59 枯燥队列优化 DP
0x5A 斜率优化
0x5B 四边形不等式
0x5C 计数类 DP
0x5D 数位统计 DP
0x5E 总结与练习
0x60 图论
0x61 最短路
0x62 最小生成树
0x63 树的直径与最近公共先人
0x64 基环树
0x65 负环与差分束缚
0x66 Tarjan 算法与无向图连通性
0x67 Tarjan 算法与有向图连通性
0x68 二分图的匹配
0x69 二分图的笼罩与独立集
0x6A 网络流初步
0x6B 总结与练习
0x70 综合技巧与实际
0x71 C++ STL
0x72 随机数据生成与对拍
0x7F 附录

如果你不打算参加算法比赛,我也倡议你买过去看看,不过内容能够选择性看看即可。如果你也不晓得应该看哪局部,能够在我的交换群中进行探讨,公众号力扣加加回复 leetcode 进群。

《Guide to Competitive Programming》

《Guide to Competitive Programming》这种书我本人没有读过。不过听敌人说内容不错,大家能够试读一下,看看目录是否适宜本人。

BTW,后面提到的题库网站 CSES 也举荐了这本书哦。

总结

大家如何想参加算法比赛尽量趁早,倡议至多从大一就开始学习。

倡议大家卖一本书系统性学习,而后找个题库跟着刷题。题库刷完之后再去参加较量。较量实现后能够看下大家的题解,不论本人有没有做进去,做进去也看看他人的做法是不是更好。通过这样的一条残缺路线,我置信大学期间拿个名次,进个大公司还是不成问题的。当然进大公司还要其余方面也不差才行 😄

正文完
 0