时间复杂度

1. 根据数据范围选择做法

2. 1s大概小于 10^8,最好1^7 

3. n <= 30 指数    dfs+剪枝

    n = 100 -> n^3    floyd(图论) 

    n = 1000 -> n^2,n^2logn    循环

    n =10000 -> n* sqrt(n)    块状链表

    n = 1e5 -> nlogn   各种sort,线段树,树状数组,set/map, heap, Dijkstra,spfa

    n = 1e6 -> n, logn   hash, 双指针扫描,kmp,AC自动机,常数比较小的nlogn做法:上面的除线段树,求凸包,求半平面交,二分

    n = 1e7  -> n   双指针扫面,kmp,AC自动机, 线性筛素数

    n = 1e9 ->  sqrt(n)

    n = 1e18 -> logn  最大公约数

空间复杂度就是看定义几个变量,注意递归。

原文地址:https://www.cnblogs.com/XXrll/p/11128813.html