国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

POJ - 2385 Apple Catching解題報告

2019-11-10 16:47:14
字體:
來源:轉載
供稿:網友
題目大意:

有個牛,好多題了,都是牛。然后她想吃蘋果。有兩個樹,單位時間,在一棵樹上會掉下來一個蘋果。她必須在這個時間正好站到了這棵樹下,才能吃到這個蘋果。現在給你一共有T(1000)個單位時間,以及每個單位時間是哪一顆樹上要掉蘋果,這個牛可以瞬間從一棵樹到達另一棵樹下面,但是這種瞬移技能只能釋放最多w(30)次 。問你這個牛最多可以吃到多少蘋果。(注:牛一開始在1號樹下)ps:要是問西瓜就好了,因為西瓜不長在樹上···· 

思路:

設a[i][j][k]表示這個牛在第i個蘋果掉下來時,在j號樹下,用了k次技能,所能得到的最多的蘋果數。

遞推公式:a[i][j][k]=max(a[i-1][j][k],a[i-1][!j][k-1]); if(v[i]==j)a[i][j][k]++;邊界條件:a[1][j][k];a[i][j][0];

關于遞推公式以及邊界條件的解釋:

這個牛在第i個蘋果掉下來的時候,在第j號樹下,用了k次技能。能得到這個狀態的上一狀態為:這個牛在第i-1個蘋果掉下來的時候,在第!j號樹下,用了k-1次技能;或者這個牛在第i-1個蘋果掉下來的時候,在第j號樹下,用了k次技能。(關鍵也就是這個牛在第i-1個蘋果掉下來和第i個蘋果掉下來之間,有沒有使用技能)然后如果,這個蘋果他接到了,就+1唄~

然后是關于邊界條件,很適合想想一個三維的表格來儲存數組a(雖然想畫個三維圖,但是用筆畫的圖爛的掉渣,估計大家也看不清,就自己想象吧),這樣的話,如果要推出第i層的一個,就需要知道第i-1層的兩個格(沿i軸-1的一個,以及同i-1平面內無相交邊的另一個)。這樣,在i取1的時候,就找不到對應的i-1平面了,所以要確定邊界a[1][j][k];同樣,在k=0時就找不到對應的k-1了,所以也要確定邊界a[i][j][0]。另外十分要注意,開始的時候在1號樹下面,所以一切在2號數下面翻轉0次得到的蘋果數都是-inf。 

然后三層循環為什么從外到內的順序為ikj:還是有些疑問,不過目前對于這道題來看,調換ik的內外層關系并沒有發生錯誤。對于三維圖來說,只不過是改變了各個格的數值確定的順序。然后就是對遞推公式理解上就不太好解釋了(其實也是可以解釋的):一個一個的用技能,在第i個格用技能得到的總金額可以根據在第i-1個格用技能(a[i-1][j][k])或者不用這個技能(a[i-1][!j][k-1]) 兩種情況來確定。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 株洲县| 苍山县| 海晏县| 固始县| 鄂温| 阳原县| 卢龙县| 神农架林区| 南投县| 福建省| 灌南县| 从江县| 灌云县| 英超| 桐庐县| 丘北县| 广灵县| 达尔| 偏关县| 宝鸡市| 巩留县| 富锦市| 宜丰县| 旬阳县| 井研县| 炉霍县| 赣州市| 开原市| 汕尾市| 岳阳县| 鹤庆县| 西林县| 石棉县| 东宁县| 定远县| 白银市| 武川县| 海盐县| 凤山县| 大厂| 红桥区|