关于卡常的一些心得
查看原帖
关于卡常的一些心得
434929
Usada_Pekora楼主2022/6/14 03:30

奇数大小的数组更快。

对于形如 for(int i = l; i <= r; i++) 的循环语句,写成 for(int i(l), i ^ r + 1; ++i) 更快(此方法可以提高 10 ms 左右的运行速度) 。

变量不可变就用 const 修饰, 结构体的重载运算符中应该取地址以加速,但对于普通变量,反而会减速。

将所有的 if else 改写成三目运算符形式。

本题的读入只存在 '\n','\0','0~9' ,所以快读可以这么写:

inline int read() {
	int q(0);
	char ch(getchar());
	while(ch < 48) ch = getchar();
	while(ch > 47) q = (q << 1) + (q << 3) + (ch ^ 48), ch = getchar();
	return q;
}

全部改了以后马上快了 100ms 左右。

2022/6/14 03:30
加载中...