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 时尽可能写前向转移。所谓前向转移,即向前看,考虑从一个状态可以转移到哪些状态。而后向转移,即向后看,考虑哪些状态可以转移到一个状态。

posted @ 2022-01-03 02:17  zjs22  阅读(56)  评论(0)    收藏  举报