卷算法?来我教你怎么吊打面试官💪

14,244 阅读5分钟

作者介绍:断律绎殇(笔名),六年码龄,四年算法竞赛经验(主要是acm和天梯赛),曾获两次省一及其他奖项若干。(避免被杠还是多说几句:以上介绍仅证明本人具有一定算法能力,算不上大佬,比我厉害的人还有很多很多,当初亚洲区域赛清华的队伍坐我们旁边,我们还在讨论题目翻译旁边在讨论晚上吃什么的时候,我就清晰地认识到了自己只是acm打铁蒟蒻)

前言

最近两年,行业内卷严重,算法慢慢成为面试的高频问题。本文将列出一份大致的学习路线,全部练完能够应付大多数的面试场景,同时也能提高在高压状态下编程和思考、解决问题的能力。

引用b站大佬CodeSheep的经典名言:

徒手撕源码 光脚造轮子 闭眼深优化 吊打面试官

学习的收获

  1. get新技能-算法能力;
  2. 追求高性能、低开销解决问题的思维习惯;
  3. 培养思考问题的全面性,养成少写甚至不写bug的好习惯;
  4. 其他不可言传的隐性成长...
  5. 吊打面试官

学习路线

tips

算法学习推荐使用c++语言练习,有其他语言基础学c一般一下午就能学会,后端大佬如果实在不习惯可以使用java。

模拟、枚举和贪心

模拟

P1042 [NOIP2003 普及组] 乒乓球 - 细节

P2670 [NOIP2015 普及组] 扫雷游戏 - 规则

P1563 [NOIP2016 提高组] 玩具谜题 - 记录

P1143 进制转换 - 模拟运算

枚举

POJ 1753 Flip Game

POJ 2965 The Pilots Brothers' refrigerator

贪心

POJ 百练 4151 电影节

POJ 3190 Stall Reservations

POJ 1328 Radar Installation

毒瘤xor (按位贪心)

递归、分治

[NOIP2002 普及组] 选数

[NOIP2002 普及组] 过河卒

[USACO17JAN]Secret Cow Code S

二分、三分、01分数规划

二分查找

NC235558 牛可乐和魔法封印

二分答案

NC24017 [USACO 2016 Jan S]Angry Cows

NC16462 [NOIP2015]跳石头

三分

NC20276 [SCOI2010]传送带

01分数规划

NC14662 小咪买东西

栈、队列

NC14893 栈和排序

队列

NC13822 Keep In Line

双端队列

NC14661 简单的数据结构

并查集

Party

炸铁路 - 洛谷

[SCOI2005]繁忙的都市 - 洛谷

P1396 营救 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

并查集 NC23803 DongDong认亲戚

扩展域并查集

食物链

Mahmoud and a Dictionary

搜索

DFS

NC15128 老子的全排列呢

NC235813 N皇后问题

NC24739 Lake Counting

BFS

01迷宫

NC15136 迷宫

NC201613 Jelly

双向广搜

NC15665 maze

搜索剪枝

NC16857 [NOI1999]生日蛋糕

递推

NC235911 走楼梯

线性dp

NC16810 [NOIP1999]拦截导弹

NC16664 [NOIP2004]合唱队形

背包问题

01背包

P1048 [NOIP2005 普及组] 采药

完全背包

NC21467 [NOIP2018]货币系统

多重背包

NC235950 多重背包

分组背包

NC16671 [NOIP2006]金明的预算方案

DP

区间dp

[NOIP2006 提高组] 能量项链

[NOI2009] 二叉查找树

树形dp

[ZJOI2007] 时态同步

[USACO10MAR] Great Cow Gathering G

[USACO08JAN]Cell Phone Network G

状压dp

[FJOI2007] 轮状病毒

[ZJOI2017] 树状数组

图论

最短路

【模板】单源最短路径(弱化版)

[SCOI2007]k短路

[JLOI2011] 飞行路线

最短路图

NC19987 [HAOI2012]ROAD

NC16416 [NOIP2017]逛公园

差分约束

NC20284 [SCOI2011]糖果

最小生成树

NC17509 挖沟

NC15108 道路建设

NC53074 Forsaken喜欢独一无二的树

数论

最接近的分数

NC14399 素数判断

NC235228 素数的个数

NC16710 最大公约数(lcm)

NC23050 华华对月月的忠诚

组合数学:

排列组合

[NOIP2011]计算系数

[HAOI2012]容易题

[HAOI2016]放棋子

[SCOI2010]字符串

容斥

大水题

青蛙

最后的晚餐(dinner)

线性代数

愉快的递推式

又见斐波那契

概率题

Happy Running

分蛋糕

数论分块

因数个数和

小G的约数

浅尝辄止

线段树

区区区间

数据结构

整数序列

序列求和

数星星 Stars

[SDOI2015]道路修建 线段树+kruskal

Stars in Your Window

树状数组

华华开始学信息学

[HEOI2012]采花

求逆序数

LCA模板题

DFS序

树(dfs序+区间dp)

求和

Alliances

选点

Colorful Tree

[HAOI2015]树上操作

树上倍增

货车运输

树和序列

牛可乐和公平点

树链剖分

[HAOI2015]树上操作

[ZJOI2008]树的统计COUNT

石子游戏2

持续更新中...

本文正在参加「金石计划 . 瓜分6万现金大奖」