记录一些奇奇怪怪的错误
-
最大最小问题:优先考虑二分答案 dp 最短路
-
涉及到取与不取考虑背包
-
多组数据时一定记得每次初始化/清空数组和队列等
而且初始化时不乱用
memset
因为很慢。 -
一定要考虑答案是否具有单调性(有很多计数题可能符合条件的数也是具有单调性的)
-
记住:scanf效率远大于cin.因此尽量使用scanf(尤其是输入的数据量>=1e+6)不然输入超时就十分可惜了。
-
数组开到 \(1e9\) 会爆掉。因此可以使用map进行代替。没有赋值(?)的map初始值为0
-
\(n<=2e9\) 都可以放心使用
int
的 -
dp时间复杂度在无优化的情况下通常为 \(O(n^2)\),因此应根据情况合理使用搜索
-
数字超出数据范围会变成负数表示。因此如果想判断所取值是否过大(超出ing/long long范围)(乘法尤为多见)时不仅要保证此数小于该数据类型能取到的的最大值,还有注意不能使负数(根据实际情况)