将不断更新(希望能不更新)
for(int j = 0; j < b[i].size() - k; j++)
多组数据特判在continue前没有读完所有的数据
当代码真的没有写错的时候,再想想算法的正确性。
同上还有复杂度。
在隐秘的角落很可能就溢出了 long long = int * int这样是会溢出的
maxn如果手滑少写了一个0很难想到这方面的问题
而且数组越界引发的未定义行为出现的bug可能会非常的奇怪
uva的题目格式要求真的很sb,找不到问题最好去看看别人题解的格式
poj的古董编译器慎用stl,常数巨大,亲测TLE到30ms的区别(poj一生黑
还有poj的神秘bug:int函数末尾没有返回值导致wa,然而那个函数根本不会运行到底部
double的输出不是%lf 输出没有%lf的用法(c++11后支持
函数传入数组参数,数组会隐式转换成指针,所以memset只会初始化指针大小的空间
如果出现奇怪的情况往往是UB了,比如本地和oj/本地和别人电脑结果不一样;边界明确却莫名死循环;加了几个无关紧要的语句结果却发生变化
int溢出虽然大部分编译器表现一致,但是想要利用自然溢出最好还是用unsigned
可以用编译命令减少sb错误 见https://codeforces.com/blog/entry/15547
试了一下dev能用的大概有-Wall -Wextra -pedantic -std=c++14 -Wshadow -Wformat=2 -Wfloat-equal -Wconversion -Wlogical-op -Wcast-qual -fstack-protector -Wcast-align -O2
有负权边的时候要特判INF,不能直接加减