Learn from Mistakes 2022
1.2
估计量的取值范围,选用合适的数据类型。查错时记得考虑 integer overflow 的可能性。(答案在 int 能表示的范围内吗?)
64个点256条边的简单无向图,要枚举其中的三角形。我的做法是枚举三角行的三条边,判断这三条边是否构成三角形。时间复杂度是 \(O(256^3)\)。更快也更好写的做法是枚举三个点,判断这三个点是否两两之间都有边。时间复杂度是 \(O(64^3)\)。
1.6
[typo] 把 if (bit(x, cur_bit) == 0) 写成了 if (bit(x, cur_bit == 0))。反思:把 if (bit(x, cur_bit) == 0) 写成 if (not bit(x, cur_bit)) 来避免这个错误。
我的弱项:递归函数。
1.8
[coding] 注意多个 case 是否可以合并(统一处理)。
1.16
写 DP 时尽可能写前向转移。所谓前向转移,即向前看,考虑从一个状态可以转移到哪些状态。而后向转移,即向后看,考虑哪些状态可以转移到一个状态。

浙公网安备 33010602011771号