看板 Prob_Solve 關於我們 聯絡資訊
N 個整數(不重複) N1,N2,N3,N4...Nn 針對每個 Ni 求 Ni+1,Ni+2,Ni+3...Nn 當中小於 Ni 的值有幾個 例: Input : 4,3,1,5,2 Output: 3,2,0,1,0 請問這個有比 O(n^2) 更好的算法嗎 謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210 ※ 文章網址: http://www.ptt.cc/bbs/Prob_Solve/M.1406882903.A.8DD.html
yr:不是排個序就好了? O(n log n) 08/01 16:59
yr:理解錯問題,請無視 XD 08/01 17:05
yvb:樓上的理解其實也沒錯, 稍微轉化一下, 即可適用此題 :) 08/01 17:22
cutekid:可以請 yvb 大開示一下嗎 :) 08/01 17:27
flere:用線段樹可以做到O(n log n)..感覺有別的方法OAO 08/01 18:48
dreamoon:http://ppt.cc/DEO1 08/01 18:56
dreamoon:這是相關文章,搜尋 逆序數對+樹狀數組應該可以搜到很多 08/01 18:59
dreamoon:東西 08/01 18:59
lNishan:推月神 <(_ _)> 08/01 19:04
FRAXIS:如果是單純算inversion 用線段樹會比較快嘛? 08/01 19:54
johnathan717:如果mergesort排序可以一邊排,一邊數inversions 08/01 22:49
FRAXIS:我也是這樣覺得 使用線段數有什麼好處嘛? 08/02 07:49
fenzhang:線段樹可以處理動態情況,例如每次修改某個數字 08/03 00:18
FRAXIS:那當問題是靜態的時候 線段樹應該就沒有優勢了吧? 08/03 20:37
DJWS:時間複雜度都一樣 有沒有優勢就看實作功力囉 08/03 20:52
suhorng:可能沒有. 當然比賽時線段樹可能有模板, 可以直接套. 08/04 13:38
suhorng:但他常數也可能比較大啦 只不過是 trade-off 08/04 13:38
trail0721: Ni+1,Ni+2,Ni+3...Nn=>有序遞增, i.e; 3,4,5,6,7,8,9.. 08/20 13:29
trail0721: 輸入 8 => 輸出 (8-3) = 5 08/20 13:30
trail0721: 哈~~~~ 輕鬆一下... 08/20 13:30
DJWS: 归并树 / 划分树 10/03 09:50