潜在细节优化

1、循环里用局部变量时,在循环外面开,循环内部只更新

例:codevs 3235 战争 http://codevs.cn/problem/3235/

暴力枚举,变量开在循环外+printf可水过

变量开在循环里TLE 95

2、单个字符输入,为避免空格、换行符的读入,也不要用cin

用字符串读入

我以为我不会被卡cin,因为我除了读入单个字符、string外不用cin

记住2017.3.8,这个历史性的一天,cin读单个字符被卡了一天http://www.cnblogs.com/TheRoadToTheGold/p/6520714.html

3、若多次使用log,例如RMQ里

 不要每次 int p=int(log(n)/log(2)+0.001)+1;

 提前预处理  for(int i=2;i<=n;i++) log[i]=log[i>>1]+1;

4、莫队算法里的+1,-1传递参数时,用true,false 代替,时间可优化一半

http://www.cnblogs.com/TheRoadToTheGold/p/7067135.html

5、数组比结构体快快快快!!!!!!http://www.cnblogs.com/TheRoadToTheGold/p/7389937.html

6、字符串哈希

这样写 (has[r]-has[l-1]*bit[r-l+1]%mod+mod)%mod

 

改成这样

tmp=has[r]-has[l-1]*bit[r-l+1]%mod;
if(tmp<0) tmp+=mod;

即 减少一个取模,时间可快一半

posted @ 2017-03-06 21:50  TRTTG  阅读(206)  评论(0编辑  收藏  举报