HDU 1176 免費餡餅 DP

2022-05-01 06:21:08 字數 1543 閱讀 6437

題目鏈結

思路

因為剛開始的起點是固定的 但是終點不是固定的

所以我們可以從終點往起點推

dp[i][j] 表示 在時刻為t的時候 座標為j 的時刻 可以獲得的最多餡餅數

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

最後狀態會轉移到 dp[1][4], dp[1][5], dp[1][6] 去三值中的最大值

ac**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define clr(a) memset(a, 0, sizeof(a))

#define pb push_back

using

namespace

std;

typedef

long

long ll;

typedef

long

double ld;

typedef

unsigned

long

long ull;

typedef pair pii;

typedef pair pll;

typedef pair psi;

typedef pair pss;

const

double pi = acos(-1.0);

const

double e = exp(1.0);

const

double eps = 1e-8;

const

int inf = 0x3f3f3f3f;

const

int maxn = 1e5 + 5;

const

int mod = 1e9 + 7;

int dp[maxn][11];

int move[3] = ;

bool ok(int x)

int main()

for (int i = t - 1; i >= 1; i--)

}dp[i][j] += tmp;}}

int ans = max(max(dp[1][4], dp[1][5]), dp[1][6]);

cout

<< ans << endl;

}}

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馬上卸下身上的揹包去接。但由於...