评测机一般效率为$5*10^8$
怎么让效率更高呢?
内存激发
访问连续内存效率会提升8倍
循环语句有预测性,所以连续预测会有几倍的提速。
结构体也有助于连续内存。
并行计算
即循环展开,一般提速五倍。
如果定义多个连续变量,可以最大激发效率。
理论可以过 $4*10^9$
运算
int 是最快的
尽量用拓展库的哈希和平衡树,很快。
可以解除容器的一些功能,这样速度更快。
常数再优化
可以观察题目性质,避免无用操作,或者用bitset优化也算。
还有就是将某些操作预处理,或改成等价更快的写法。
这也可以卡常。
因为数据跑不满,理论可过(全用上)$10^{10}$
关于$10^{12}$
如果跑满则几乎不可能一秒跑出。
但信仰出奇迹。
不过更有可能的是搜索跑过了,毕竟剪枝多。
STL
vector可过$10^{12}$
memset可过$10^{10}$,不过复杂度定格(千万别乱写。
如此即可。
并行计算,循环展开似什么意思呀,能解释一下咩
请看上面
好的,谢谢犇犇