Codeforces Round #136 (Div. 2)
A. Little Elephant and Function
B. Little Elephant and Numbers
C. Little Elephant and Problem
D. Little Elephant and Array
E. Little Elephant and Shifts
- 每个数单独考虑。
- 假设(x)在数组(a)的位置(i),在数组(b)的位置(j),且(i le j),则从(p_1)到(p_n)对应的距离为$$j - i, j - i - 1, cdots,1, 0, 1,cdots, i-1, n-i, cdots, j-i+1$$分成两个递减,一个递增区间。
- 考虑(p_1)到(p_{j-i+1})这个区间,第(k)个位置的值可以表示成$$d_k=d_1-(k-1)=(d_1+1)-k$$根据题意,要在所有方案中取$$min{d_k}=min{(d_1+1)}-k,d_1+1-kge 0$$这个可以用优先队列维护。
- 其余两个单调区间也是类似做法。
原文地址:https://www.cnblogs.com/mcginn/p/6012047.html