这一题其余部分都相同,只有分块预处理不同却导致Hack数据的结果不同。
多设置一个块,Hack数据无法通过
if (R[t] < n) { L[++t] = R[t - 1] + 1; R[t] = n; block[t] = n - L[t] + 1; }
扩展最后一个块,Hack数据可以通过。
if (R[t] < n) { R[t] = n; block[t] = n - L[t] + 1; }
这两种写法有什么区别吗