HDU1176 免費餡餅 DP

2021-07-05 23:30:13 字數 708 閱讀 8238

題目大意:區間[0,10]上掉落餡餅,每秒在乙個整數點上掉落乙個餡餅,gameboy第0秒在位置5,他在第一秒只能接到4,5,6這三個位置上的餡餅,問你最多可以接到多少餡餅。

分析:數塔問題。我們以時間為橫座標,位置為縱座標建立乙個矩陣,那麼我們會發現,其實就是在(0,5)位置找到一條到達最底層的路徑(每次只能向坐下,正下,和右下三個方向走),使得路徑上權值和最大。從下往上dp一下即可,以dp(i,j)=max( dp(i+1,j-1),dp(i+1,j),dp(i+1,j+1) )+a(i,j)。

實現**如下:

#include #include using namespace std;

int a[100010][13];

int dp[100010][13];

int max(int a,int b,int c)

int main()

for(int i=1;i<=11;i++)

dp[row][i]=a[row][i];

for(int i=row-1;i>=0;i--)

for(int j=1;j<=11;j++)

dp[i][j]=max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1])+a[i][j];

printf("%d\n",dp[0][6]);

}return 0;

}

hdu 1176 免費餡餅 dp

去年暑假的時候就看到這個題了,當時太菜了。完全不知道做。今天看到了網上的hdu dp46題,準備暑假前把這46個題搞了,正好看到了這個免費餡餅,怒a之。狀態轉移方程 dp i j max dp i j max dp i 1 j max dp i 1 j 1 dp i 1 j 1 v i j 其中dp...

HDU1176 免費餡餅 DP

problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於...

HDU 1176 免費餡餅 (DP)

problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於...