卡常技巧

Posted bxjz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卡常技巧相关的知识,希望对你有一定的参考价值。

1.尽可能使用位运算, <<1 比 *2 快, >>1 比 /2 快,用 &1 代替 %2 ,用三次 ^ 代替 swap;
2.尽可能把 i++ 变成 ++i,因为 i++ 处理时会使用临时变量储存原先 i 的值;
3.简单函数前使用 inline,或者干脆使用 #define,因为函数调用会浪费时间;
4.使用 cin cout关闭同步(std::ios::sync_with_stdio(false)??,或者使用 scanf printf 甚至快读;
5.字符串较短时使用 putchar,较长时使用 printf,但是如果要换行,一定要用 puts()~~~;
6.数组尽量开奇数个(我也不知道什么原理);
7.使用 register 优化循环变量;
8.手写函数,比如 max abs swap等,还有 STL;
9.if 语句比三目运算符要慢,逗号运算符比分号运算符要快;
10.










以上是关于卡常技巧的主要内容,如果未能解决你的问题,请参考以下文章

卡常小技巧

卡常技巧

卡常技巧

卡常技巧

CodeForces 327E Axis Walking(状压DP+卡常技巧)

做OI题时的一些常用的常数优化小技巧