尝试在区间长度不长时 O(n3)O(n^3)O(n3) 暴力处理,太长时再 cdq 分治下去。
本人写的是常数极大的 cdq 套 cdq 套 cdq,理论时间复杂度不知道是 O(nlog3n)O(n\log^3n)O(nlog3n) 还是 O(nlog4n)O(n\log^4 n)O(nlog4n)(?)原本只能过 n=5000n=5000n=5000 的数据;在第一层限制了 n≤3000n\leq 3000n≤3000 时暴力,第二层限制 n≤500n\leq 500n≤500 时暴力,第三层限制 n≤50n\leq 50n≤50 时暴力之后,直接全部点跑进了 2.7s2.7s2.7s,可见优化效果之强。
属于是返璞归真了