信息学竞赛工具
复杂度计算器
输入题目的数据规模 n,一眼看出你的算法在 1 秒时限内能否跑过。
在文章中也可用指令 :::complexity{n=100000} 直接嵌入本工具。
常用规模:
怎么看这张表
- 轻松过:操作数 ≤ 1×10⁸,1 秒内稳稳跑完。
- 勉强:操作数在 1×10⁸ ~ 1×10⁹,取决于常数、语言与评测机,必要时卡常或换算法。
- 大概率 TLE:操作数 > 1×10⁹,必须优化复杂度。
经验阈值(1 秒 / C++)
| n 规模 | 可承受复杂度 | 典型题面 |
|---|---|---|
| n ≤ 10 | O(n!)、O(2ⁿ) | 全排列、状压初阶 |
| n ≤ 5×10³ | O(n²) | 朴素 DP、 Floyd |
| n ≤ 2×10⁵ | O(n log n) | 排序、线段树、最短路 |
| n ≤ 1×10⁶ | O(n)、O(n log n) 轻常 | 线性扫描、单调栈 |
| n ≤ 1×10⁷ | O(n) 极小常 | 线性筛、哈希 |
注:实际时限与评测机差异很大,O(n²) 在 n=5000 可能卡常,O(n log n) 在 n=2×10⁵ 通常安全。本工具给出的是量级参考,不是保证。