跳到正文
信奥逐课

第 012 课

什么是超时 TLE

🟢 入门 约 5 分钟

一句话理解

TLE 表示程序在规定时间内没跑完。

为什么要学

算法太慢,或死循环,都会超时。复杂度意识就是为了避免它。

讲解

TLE = Time Limit Exceeded。每题都有时间限制,常见 1 秒。

1 秒大概能跑 (10^8) 到 (2 \times 10^8) 次简单运算,这是经验值,不是定理。

嵌套循环、每层都很大时最容易 TLE。有时是 while 写错变成死循环。

例子

for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
        // n=1e5 时,这里大约 1e10 次,必 TLE
    }
}

双重循环大约跑 n² 次。n 到 10 万,平方就是 100 亿,远远超出 1 秒。

常见错误

练习 做完再看下一课

n=1e5 时,下面哪种最可能 TLE?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课