跳到正文
信奥逐课

第 159 课

双层枚举

🟢 入门 约 5 分钟

一句话理解

双层枚举:枚举一对 (i,j)。

为什么要学

所有二元关系的暴力基础。

讲解

注意 i<j、i<=j 还是任意有序对,避免重复和遗漏。复杂度 n²。

很多题先双层枚举,再发现内层能预处理成 O(1)。

例子

for (int i = 1; i <= n; i++)
  for (int j = i + 1; j <= n; j++)
    ; // 枚举无序对

j 从 i+1 开始,每对一次。

常见错误

练习 做完再看下一课

枚举所有无序对时,内层从 i+1 开始可以避免重复。

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

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

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

左右方向键也可翻课