算法经验
算法经验
常用思想
双指针、滑动窗口、前缀和、位运算
哈希(HashSet、HashMap)、栈(Stack)、队列(Queue)、堆(PriorityQueue)
DFS(前中后序)、BFS
递归回溯
模拟、贪心
动态规划
二分
单调栈
图(出度入度)
并查集、字典树、树状数组、线段树
KMP
数学
时间限制
一般时间限制为1~2秒,可以根据数据范围推出算法所需的时间复杂度
数据范围(n) | 时间复杂度 |
---|---|
$\leq30$ | $O(n^{n})$ |
$\leq100$ | $O(n^{3})$ |
$\leq1000$ | $O(n^{2})$、$O(n^{2}\log{n})$ |
$\leq10^4$ | $O(n\sqrt{n})$ |
$\leq10^5$ | $O(n\log{n})$ |
$\leq10^6$ | $O(n)$、常数较小的$O(n\log{n})$ |
$\leq10^7$ | $O(n)$ |
$\leq10^9$ | $O(\sqrt{n})$ |
$\leq10^18$ | $O(\log{n})$ |
参考
算法经验
https://wangaaayu.github.io/blog/posts/e3e0b7ff/