题目:P4309
做法:离线,暴力\(O(n^2)\)插入,树状数组统计答案。
速度对比:
不开O2 | 开O2 | 理论复杂度 | |
---|---|---|---|
memmove | 875ms | 858ms | 线性 |
basic_string | 972ms | 841ms | 线性 |
vector | 997ms | 851ms | 线性 |
deque | 5615ms(TLE) | 968ms | 线性,理论常数为vector的一半 |
Splay | 1371ms | 974ms | 对数 |
rope | 4334ms | 1275ms | 对数 |
总结:不开O2的话朴素的C函数碾压各种花里胡哨的STL,开O2仍然差不多;STL中string最优秀;Splay不如vector和string;rope空有名头其实不快;deque一定要开O2。