选取一个 t t t ,并选取环上一物品 x x x ,在 t t t 时刻从 x x x 出发,每单位时间前进一步,要求如果经过的第 i i i 个物品(出发处为第 0 0 0 个物品)出现时间为 k k k ,则需要满足 t + i ≥ k t+i\ge k t+i≥k (在出现时或之后才能标记到这个物品),求最小的 t t t ,答案即为 t min + n − 1 t_{\min}+n-1 tmin+n−1
考虑将 T T T 数组复制一遍
然后限制条件变成
∀ x ≤ i ≤ x + n − 1 , t + i − x ≥ T i \forall x\le i\le x+n-1,t+i-x\ge T_i ∀x≤i≤x+n−1,t+i−x≥Ti
于是当 x x x 固定时
t = max i = x x + n − 1 { T i − i } + x t=\max_{i=x}^{x+n-1}\{T_i-i\}+x t=i=xmaxx+n−1{
Ti−i}+x
而由于 T T T 数组倍长过,所以 T i + n = T i T_{i+n}=T_i Ti+n=Ti
故对于所有的 i ∈ [ 1 , n ] i\in[1,n] i∈[1,n] 都有 T i − i > T i + n − ( i + n ) T_i-i>T_{i+n}-(i+n) Ti−i>Ti+n−(i+n)