跳到正文
信奥逐课

第 013 课

什么是内存超限 MLE

🟢 入门 约 5 分钟

一句话理解

MLE 表示程序用的内存超过题目限制。

为什么要学

大数组、开太大的 DP 表、递归太深,都可能超内存。

讲解

MLE = Memory Limit Exceeded。常见限制是 256MB 或 512MB。

粗算:一个 int 4 字节,一百万个 int 大约 4MB。int a[5000][5000] 大约 100MB。

vector 也会占内存,而且可能比裸数组稍多一点。不要“先开一个超大保险数组”。

例子

int a[10000][10000]; // 约 400MB,很多题会 MLE

10000×10000 个 int,每个 4 字节,大约 4e8 字节,约 381MB,再加别的就更容易爆。

常见错误

练习 做完再看下一课

只要时间够,内存就可以随便开。

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

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

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

左右方向键也可翻课