题解:CF2169D2 Removal of a Sequence (Hard Version)
进行一次操作后,若原来第
反过来考虑,我们将操作后的序列每
所以 Easy Version 的做法就是:
y -- ;
while (x -- ) k += (k - 1) / y;
为了下面好描述我们将 y --。
考虑优化。根据数论分块,分母固定时,使整个式子下取整后不同的分子只有根号种。于是可以求出,对于当前
y -- ;
while (x && k <= 1e12) {
int t = (k - 1) / y;
if (!t) break;
int r = y * t + y;
int cnt = min(x, (r - k) / t + 1);
x -= cnt;
k += t * cnt;
}