UVa 10041
題目
http://domen111.github.io/UVa-Easy-Viewer/?10041
有一個人要搬家到某條路上,在這條路上有許多他的親戚,他希望新家能距離所有親戚最近
給每個親戚家所在的座標,問這新房子到其他親戚家距離總和是多少
想法
首先我們要找到新家的位置,既然要距離所有親戚最近,那就是最中間的位置了(中位數)
要計算中位數,就必須先找到中間項,那麼就先將序列排序吧!如此一來就可以很快找到中間項
找到了新家的座標之後,接下來就計算到每個親戚家的距離總和即可
Code
1 | //By Koios1143 |
時間複雜度分析
每筆測資輸入時間複雜度為 $O(m)$
每筆測資排序時間複雜度為 $O(mlogm)$
每筆測資計算距離總和時間複雜度為 $O(m)$
每筆測資總時間複雜度約為 $O(2m + mlogm)$