N<=10

• O(N!)

• 全排列枚举

N<=15

• O(2^N)

• 01规划

• 状压dp

N<=50

• O(N^4)

• 枚举一个矩形(x,y),(x+w,y+h)

N<=100

• O(N^3)

• Floyd求任意两点最短路

• 高斯消元

N<=1000

• O(N^2)

• 枚举两个点

• 求最长公共子序列

• 网络流、费用流(*)

N<=10000

• O(Nsqrt(N))

• 分块

• 整数拆分问题

• 2-sat

N<=100000

• O(NlogN)、 O(NlogNlogN)

• 树型数据结构和分治的天下…

• 树状数组,线段树,平衡树,堆

• 后缀数组

• 快速傅里叶变换(FFT)

N<=1000000

• O(NlogN)、 O(N)

• 素数筛

• 贪心

• 二分查找,三分查找极值

• 图、树的遍历

N<=1e9

• O(sqrt(N))、 O(logN)、 O(1)

• 素数筛+分解质因数

• 快速幂

• 逆元

• 推数学公式

N<=1e18

• O(logN)、 O(1)

• 数位dp

• 数学公式