tips and tricks

错误日志

2018.06.17 每道题交之前先想想 \(0\)\(1\) 之类的特殊值会不会出错。

2018.05.19 1.浮点数的乘除法非常慢,请尽量避免。 2.infnan 的运算速度非常非常慢(大约为正常浮点数的 \(10\) 倍),可能直接导致 TLE,请务必确保不要出现 infnan

2018.05.06 1.java 写多了别忘了 c++ 是值传递,引用传递要加 &。(辣鸡 OO)2.当容器为空时,对 begin()end() 进行 ++-- 操作均为未定义行为,可能导致运行时错误。

2017.12.08 输出方案、交互等,用 assert 检验输出的合法性。

2017.11.15 如果测试数据有 \(10^9\) 组,不要使用 memset

2017.10.06 1.相对误差要求很高的时候用 %lg 或 %e 输出。2.图论的样例,多画一画同构的图。3.倍增的时候第二维注意开大一个

2017.09.23 cin.eof() 和 scanf() 判断 EOF 的位置不一样,记得多组数据测试样例时一定要 Ctrl + Z 试一试

2017.08.22 注意不要对 \(0\)log ,可能会导致错误

2017.08.09 对 long long 需使用 __builtin_popcountll

2017.08.04 Kosaraju 算法一定要先反图求一次逆后序遍历,再在这个基础上对原图 dfs

2017.08.02 题目中的 example 都要去测试

常犯错误

long long 写 int

整数除法是向零取整,注意处理负数的情况