一句话理解
多层枚举层数一多,复杂度就是各层大小相乘。
为什么要学
三维坐标、三个数的组合。
讲解
三层 n 就是 n³。能剪枝就剪,能换顺序让小循环在外也可能改善常数。
超过三层要高度警惕。
例子
枚举 i<j<k 的三元组,大约 n³/6,仍是 O(n³)。
常见错误
- 四层 100 已经 1e8,再大就爆。
- 层数等于变量个数时没检查范围。
第 160 课
多层枚举层数一多,复杂度就是各层大小相乘。
三维坐标、三个数的组合。
三层 n 就是 n³。能剪枝就剪,能换顺序让小循环在外也可能改善常数。
超过三层要高度警惕。
枚举 i<j<k 的三元组,大约 n³/6,仍是 O(n³)。
四层循环各 50 次,大约?
左右方向键也可翻课