一个好的底层优化可以比朴素算法快几倍多,这点差距看似很小,但足以得到可观的分数、
1、指针优化
对于简单的赋值操作:
int a[200000001],i,n=200000000;
for(i=1;i<=n;i++){a[i]=i;}
亲测0.9s+;
而使用指针实现:
a=new int[200000001];int i=0,n=200000000;
int *now=a;int *ed=a+n;
while(a!=ed){*a=i;++i;a++;}
delete[]now;
可以跑到0.68s,平均每次也在0.7s上下;;
可见仅仅指针优化就可以很大的提升速度。
待续、