记录一些奇yu怪chun的错误 和一些 有mi趣huo的技巧
\(1.\)变量名不要用 \(next\) ,在某些编译器里可能是关键词,可以用 \(nxt\) 代替
\(2.\)在判断某些条件时应该写成
flag = 条件 ? 1 : flag;
而不是
flag = 条件 ? 1 : 0;
\(3.\) \(c++\) 自带的 log2
函数貌似会很慢,可以先预处理
for(int i = 1; i <= n; ++ i) log_2[i] = (i & (i - 1)) ? log_2[i - 1] : log_2[i - 1] + 1;