題目鏈結
思路
因為剛開始的起點是固定的 但是終點不是固定的
所以我們可以從終點往起點推
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馬上卸下身上的揹包去接。但由於...