题解:P12525 [Aboi Round 1] 私は雨
这……这种问题,我当然知道,我……我可不是要说给你听的,我只是觉得你不知道的话太可怜了……对,就是这样……所以给我认认真真的记住!
考虑对
对于
注意我们可以加入一个剪枝:如果暴力枚举的
这里给出一点我的参数建议,可以稳过,不需要靠波动:
cin >> N >> opt;
L (i, 1, N) cin >> A[i], chmax(V, A[i]),
pos[A[i]].push_back(i);
L (i, 1, V) sort (pos[i].begin(), pos[i].end());
const int B = sqrt(N) * 6.4;
L (i, 1, N) {
bl[i] = (i - 1 + B) / B;
if (!lpos[bl[i]]) lpos[bl[i]] = i;
chmax (rpos[bl[i]], i);
}
const int VB = 100;
L (i, 1, N) {
int blt = bl[i];
L (v, 1, VB) g[blt][v][A[i] % v].push_back(A[i]);
}
跑的比大部分