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

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

POJ - 2385 Apple Catching解題報告

2019-11-09 21:09:23
字體:
來源:轉載
供稿:網友
題目大意:

有個牛,好多題了,都是牛。然后她想吃蘋果。有兩個樹,單位時間,在一棵樹上會掉下來一個蘋果。她必須在這個時間正好站到了這棵樹下,才能吃到這個蘋果。現在給你一共有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]) 兩種情況來確定。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台南县| 武夷山市| 兖州市| 浦江县| 高淳县| 龙海市| 台中县| 乌苏市| 秀山| 温州市| 公主岭市| 三门县| 渭源县| 拉萨市| 建始县| 民权县| 时尚| 昭平县| 连山| 永川市| 东丰县| 雷州市| 安康市| 房产| 综艺| 延边| 庆城县| 皮山县| 郴州市| 贡觉县| 景洪市| 师宗县| 泸定县| 昌乐县| 台中县| 古交市| 广丰县| 湖南省| 太谷县| 安阳县| 田阳县|