WC滚粗前的倒数第二帖
UOJ#103先求后缀数组,预处理height数组的Sparse Table,然后用Manacher找出每一个回文串在后缀数组中二分,结果TLE了。
http://uoj.ac/submission/124418
(后来改成在单调栈上二分过了 http://uoj.ac/submission/124428 )
本机上构造了一组数据 $s=\mathrm{abacabadabacaba...}$($|s|=300000$),跑不到 $1\texttt{s}$ 就跑出来了。在UOJ自定义测试里面运行了 $1\sim 1.1\texttt{s}$。
感觉很奇怪,难道是O2变慢了?
于是本机开了O2,也要跑 $1.1\sim 1.2\texttt{s}$。UOJ自定义测试里面加上 __attribute__((optimize("-O0")))
以后,也只要 $0.7\sim 0.9\texttt{s}$ 了。
加上 __attribute__((optimize("-O0")))
以后卡过去了,而且还不一定能卡过去。
http://uoj.ac/submission/124462
另外UOJ#201的题面 $v_4$ 应该改成 $v_3$