這是班上給出的作業問題,我想知道我是否可以得到一些幫助。尋找動態算法來確定最優序列
問題是,有一個老頭。他在公園裏。該公園包括c_1, c_2, c_3, ....c_n
長長的單人路線,其中c_1
最接近老人,c_n
是老人想要坐的最後一個長椅。
他理想上可以在沒有任何幫助的情況下行駛120英尺。但是,他的旅行時間超過120英尺,他會很容易疲倦,而且他旅行的次數會減少,坐在板凳上並起牀會有時間上的缺點。因此,對於每一次散步而言,步行的懲罰將爲(120-x)^4
,其中x
是他上次在替補席上休息後到目前爲止所走過的路程。
如果臺位於各120兩腳分開,這將讓他沒有懲罰,因爲他正好可以在每一個他遇到板凳休息,這會讓120英尺旅遊,和0點球。顯然,如果他認爲自己迄今還沒有走過120英尺,但只有10或20英尺,他可以跳過替補席。
的目標是找到一種算法使用具有良好的時間複雜度動態規劃,讓他在某種程度上最小的總損失。他在替補席上休息多少次並不重要,但要找到一個能夠給出最低總體罰分的替補名單。
你是否認爲這是可能實現比爲O(n^2)的時間複雜度?我認爲這與硬幣問題或美式足球得分問題非常相似,但其對兩個長凳之間的每一次旅行的'(120-x)^ 4'罰款讓我頭疼。
我記得大約一年前的一個類似的問題,但我找不到它。 :( – biziclop 2012-02-21 20:33:44
我在「http:// stackoverflow」上發現了非常類似的問題。com/questions/4950956 /你會怎麼樣在開發一個算法爲這個酒店問題「,並幫助我很多 – user482594 2012-02-22 04:12:58