-
Nov 2, 2020
常见误区
- 尽可能使用位运算,
<<1 比 *2 快, >>1 比 /2 快,用 &1 代替 %2,用三次 ^ 代替 swap,(x<<3)+(x<<1) 代替 x*10
- 尽可能把
i++ 变成 ++i,因为 i++ 处理时会使用临时变量储存原先 i 的值
- 简单函数前使用
inline,或者干脆使用 #define,因为函数调用会浪费时间
- 字符串较短时使用
putchar,较长时使用 printf,但是如果要换行,一定要用 puts
- 数组尽量开奇数个(我也不知道什么原理)
- 使用
register 优化循环变量
- 手写函数,比如
max abs swap 等,还有 STL
if 语句比三目运算符要慢,逗号运算符比分号运算符要快
- 使用直接初始化
int maxn(-1) 代替复制初始化 int maxn=-1
std::pair 常数大
cin.tie(nullptr) 没有用
- 万能头,
using namespace std; 很慢
std::vector 常数巨大,不如链式前向星
- 结构体封装慢
while 比 for 快
-
Oct 31, 2020
A. Common Prefixes
-
Aug 27, 2020
[COCI2007-2008#3] OKTALNI