【基礎dp】HDU 1176 免費餡餅
/*
基礎dp
G - 免費餡餅
時間: 2017/02/20
題意:在一個座標軸上,最初處在5上,給出一些點在一些時間能得到1個餡餅,每秒能移動一格,問最大能得到的餡餅個數。
題解:數塔問題
1.
預處理mp[i][j]表示在第i秒第j處能得到幾個餡餅
dp[i][j] 表示在前i秒,人在j處能得到最大餡餅數
dp[i][j] = max(dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1])+mp[i][j];
2.
dp[i][j] 表示在從i秒開始,人在j處能得到最大餡餅數
dp[i][j] = max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1])+mp[i][j];
*/
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
using namespace std;
1---------------------------------------
#define N 100010
#define INF 0x3f3f3f3f
int mp[N][11];
int dp[N][11];
int main()
{
int n;
while(~scanf("%d",&n),n)
{
int a,b;
memset(mp,0,sizeof(mp));
memset(dp,0,sizeof(dp));
int m = 0;
for(int i = 0; i < n; i++)
{
scanf("%d%d",&a,&b);
mp[b][a]++;
m = max(m,b);
for(int j = 0; j <= 10 ;j++)
dp[i][j] = -INF;
}
dp[0][5] = 0;
for(int i = 1; i <= m; i++)
{
for(int j = 0; j < 11; j++)
{
dp[i][j] = dp[i-1][j]+mp[i][j];
if(j >= 1 && dp[i-1][j-1]>=0)
dp[i][j] = max(dp[i][j],dp[i-1][j-1]+mp[i][j]);
if(j <= 9 && dp[i-1][j+1]>=0)
dp[i][j] = max(dp[i][j],dp[i-1][j+1]+mp[i][j]);
//printf("%d ",dp[i][j]);
}
//puts("");
}
int maxn = 0;
for(int i = 0; i < 11; i++)
maxn = max(maxn,dp[m][i]);
printf("%d\n",maxn);
}
return 0;
}
2.--------------------------------------
const int MOD=100000;
int dp[12][MOD+10];
int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
memset(dp,0,sizeof(dp));
int maxn=0;
while(n--)
{
int x,y;
scanf("%d%d",&x,&y);
dp[x][y]++;
if(y>maxn)
maxn=y;
}
for(int i=maxn-1;i>=0;i--)
{
dp[0][i]+=max(dp[0][i+1],dp[1][i+1]);
for(int j=1;j<11;j++)
dp[j][i]+=max(max(dp[j][i+1],dp[j+1][i+1]),dp[j-1][i+1]);
}
printf("%d\n",dp[5][0]);
}
}
相關文章
- 「暑期訓練」「基礎DP」免費餡餅(HDU-1176)
- hdu 1176 免費餡餅(動態規劃)動態規劃
- 51nod-3986-免費的餡餅
- 動態規劃入門 E – 免費餡餅 (dp的另一個應用)動態規劃
- 【基礎dp】HDU 1260 Tickets
- HDU 5326 Work (基礎樹形dp)
- 智慧數字經營代理要錢嗎?或許,天上真會掉下免費的“餡餅”
- 【基礎dp】HDU 1257 最少攔截系統
- 「暑期訓練」「基礎DP」 Monkey and Banana (HDU-1069)NaN
- 【基礎dp路徑記錄】HDU 1160 FatMouse's Speed
- 安卓基礎UI免費視訊教程安卓UI
- Flutter 44集免費基礎視訊教程Flutter
- 如果你要做一個蘋果餡餅 那你必須創造出宇宙蘋果
- SAP SD基礎知識之免費訂單
- YT05-動態歸劃求解課後題目-1003—免費餡餅 -(6.21日-煙臺大學ACM預備隊解題報告)ACM
- 免費OA系統所具備的基礎功能
- Flutter基礎視訊免費教程 共25集完成Flutter
- HDU 3853 LOOPS(概率dp)OOP
- 狀壓DP基礎入門
- SAP SD基礎知識之免費貨物(Free Goods)Go
- HDU 4669 Mutiples on a circle (DP , 統計)
- [kuangbin帶你飛]專題十二 基礎DP1 D - Doing Homework HDU - 1074
- 釋出 ROS 機器人課程 | 免費 | 零基礎ROS機器人
- hdu 3401 單調佇列+DP佇列
- HDU 4455 Substrings(預處理+dp)
- 資源 | Intel釋出AI免費系列課程3部曲:機器學習基礎、深度學習基礎以及TensorFlow基礎IntelAI機器學習深度學習
- 零基礎人工智慧入門-限時免費學習人工智慧
- HDU 6415 Rikka with Nash Equilibrium (DP)UI
- HDU 3853 LOOPS:期望dp【網格型】OOP
- 【dp】HDU - 1069 Monkey and BananaNaN
- hdu4374單調佇列+dp佇列
- HDU 5119 Happy Matt Friends(DP)APP
- hdu 4123 樹形DP+RMQMQ
- 專題十二 基礎DP1 題集
- POJ 1664 放蘋果 (基礎組合dp)蘋果
- (39/60)DP基礎、斐波那契數、爬樓梯、用最小花費爬樓梯
- 輕鬆學 Nodejs - 基礎篇免費視訊教程(18 個視訊)NodeJS
- HDU6415:Rikka with Nash Equilibrium(dp)UI