#27344: 簡單想法提供(含思路流程)


sophie19820517@gmail.com (闕河正)

學校 : 不指定學校
編號 : 115751
來源 : [123.240.57.165]
最後登入時間 :
2024-11-03 14:54:30
g277. 3. 幸運數字 -- 2021年9月APCS | From: [123.240.27.89] | 發表日期 : 2021-09-25 09:12

第一個重點,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.再來就持續找區段最小值跟比較權重就好

祝大家解題愉快

 
ZeroJudge Forum