风格指南
- 在不超时和爆内存的情况下,代码的可读性优于一切(过度优化是万恶之源);
- 不提倡压行与代码混淆,请参考“排版四原则”——亲密原则、对齐原则、对比原则、重复原则;
- 不提倡沉迷手速,修炼相关奇技淫巧,FB 不应当以牺牲可读性为前提,AC 率才是王道;
- 变量命名优先按照题目描述中给出的命名规则,常见的有 n, m, l, r, p, q 等;
- 除此情况,优先使用 Google Style 工程规范命名,增强可读性,常见缩写如
cnt
,tmp
等; - 不排斥使用 STL 中的常见接口,但不提倡使用
algorithm
中的高级接口实现; - 提倡对函数进行适当封装,方便复用,Don’t copy yourself!
- 不使用额外的宏定义惯例,由于个人风格强烈,可能带来额外学习成本与适应过程;
算法基础课
第一讲 基础算法
- AcWing 785. 快速排序
- AcWing 786. 第k个数
- AcWing 787. 归并排序
- AcWing 788. 逆序对的数量
- AcWing 789. 数的范围
- AcWing 790. 数的三次方根
- AcWing 791. 高精度加法
- AcWing 792. 高精度减法
- AcWing 793. 高精度乘法
- AcWing 794. 高精度除法
- AcWing 795. 前缀和
- AcWing 796. 子矩阵的和
- AcWing 797. 差分
- AcWing 798. 差分矩阵
- AcWing 799. 最长连续不重复子序列
- AcWing 800. 数组元素的目标和
- AcWing 2816. 判断子序列
- AcWing 801. 二进制中1的个数
- AcWing 802. 区间和
- AcWing 803. 区间合并