记录一些奇奇怪怪的错误

  1. 最大最小问题:优先考虑二分答案 dp 最短路

  2. 涉及到取与不取考虑背包

  3. 多组数据时一定记得每次初始化/清空数组和队列等

    而且初始化时不乱用 memset 因为很慢。

  4. 一定要考虑答案是否具有单调性(有很多计数题可能符合条件的数也是具有单调性的)

  5. 记住:scanf效率远大于cin.因此尽量使用scanf(尤其是输入的数据量>=1e+6)不然输入超时就十分可惜了。

  6. 数组开到 \(1e9\) 会爆掉。因此可以使用map进行代替。没有赋值(?)的map初始值为0

  7. \(n<=2e9\) 都可以放心使用 int

  8. dp时间复杂度在无优化的情况下通常为 \(O(n^2)\)​,因此应根据情况合理使用搜索

  9. 数字超出数据范围会变成负数表示。因此如果想判断所取值是否过大(超出ing/long long范围)(乘法尤为多见)时不仅要保证此数小于该数据类型能取到的的最大值,还有注意不能使负数(根据实际情况)

posted @ 2021-08-09 10:27  RioTian  阅读(75)  评论(0编辑  收藏  举报