2018年6月23日 星期六

TOJ126

經典的DP問題,跟跳樓梯很像
奇怪的是
當初跳樓梯問題我明明會,
怎麼換成這個我就不會了...
還好有好心學長給我提示,非常感謝...

總之
假設有有2,3,5
那麼滿分是10,最低分是-10,對吧
我們可以開一個陣列,代表-10到10,共21格(包含0

我說過這題跟跳樓梯很像吧
跳樓梯從哪裡跳? 0階!

沒錯
一樣的我們就從0分開始跳
一開始都沒有任何紀錄時,就只有0分一種可能
所以0代表不可能,1代表有可能,則一開始是
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

再來呢,我們紀錄了第一筆資料 2分
我們答錯時,要扣2分,答對則要加2分
此時就是DP的關鍵,
拿出上一筆的資料 :
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
其中1是代表上一筆為止可能的分數吧,
那麼,可能的分數±2不就是這筆資料可能的分數,變成
0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0

同樣處理下一筆資料3,
再上一筆得到所有可能發生的分數±3
0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0

再處理資料5
最後就得到所有可能發生的分數
1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1
也就是-10,-6,-4,0,4,6,10

恩,這樣描述不知道能不能理解呢?
如果不能理解的話也是可以詢問的啦