跳到正文
信奥逐课

第 161 课

枚举答案

🟢 入门 约 5 分钟

一句话理解

枚举答案:把可能的答案当循环变量去验证。

为什么要学

答案范围小、检验快时非常好用。也是二分答案的前身。

讲解

例如答案只能是 1 到 n,逐个检查哪个合法且最优。

检验若是 O(n),总复杂度 n²,要核对范围。

例子

for (int ans = 1; ans <= n; ans++)
    if (check(ans)) { cout << ans; break; }

从小到大第一个成功的就是最小可行答案。

常见错误

练习 做完再看下一课

枚举答案要求答案的候选集合可以列出来。

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

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

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

左右方向键也可翻课