第一個重點,n0~ni求任意區段的總和,可以參考吞食天地1跟2,
如果每次都掃整個區段,那麼會造成大量浪費,所以可以運用DP的概念來思考,
ex n0~n4= 2,4,6,8,10
那麼有一個結構來存放n0~n4的總和如p
p0~p4 = 2 6 12 20 30
如此當我要找n2~n4的總和我只需要運用加減法 將p4-p1就可求出。
當計算總何快速解決後,剩下的問題就是怎麼找最小值,
每次在區間內找最小值也很花時間,
這部分可以考慮建表,因為題目有說每個數字都不相同,
所以可以幫每個數字建立一個位置的對應表,
之後將n做由小到大排序,
當要找最小值的時候就從n裡面依序找,
拿出可能的最小值,看看他位置有沒有在L跟R之間,
如果沒有就找下一個即可。
整體架構
1.收測資
2.算n0~ni的總合放到p
3.做一個位置對照表放到t
4.排序n
5.再來就持續找區段最小值跟比較權重就好
祝大家解題愉快