本题的基本思路是
(1) 先计算集合点在某个固定位置时,最小的距离之和。
(2) 再用均摊O(1)的时间,计算当集合点移动到右边相邻位置时,最小的距离之和的变化量。
反复执行第(2)步,直到所有位置都作为集合点处理过。其中最小的距离之和的最小值就i是答案。
详细分析请看PPT: https://media.hihocoder.com/contests/offer24/offer24.pptx
本题的基本思路是
(1) 先计算集合点在某个固定位置时,最小的距离之和。
(2) 再用均摊O(1)的时间,计算当集合点移动到右边相邻位置时,最小的距离之和的变化量。
反复执行第(2)步,直到所有位置都作为集合点处理过。其中最小的距离之和的最小值就i是答案。
详细分析请看PPT: https://media.hihocoder.com/contests/offer24/offer24.pptx
111'">
遍历空位[0..t],选取[0..mid..M-1]作为连续的空位,遍历计算距离。之后每次移动mid到下一个空位,按照规律,在O(1)计算新的距离即可。