简单dp——HDU - 1176

Posted helman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单dp——HDU - 1176相关的知识,希望对你有一定的参考价值。

题目含义
看了就能理解,一个人捡馅饼

题目分析

这和数塔的题做法一样

一个时间就是一层塔,11个位置就是一层塔有11个数

可以从塔底到塔顶dp,dp公式是dp[i][j]+=max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j+1])

题目代码

#include <stdio.h>
#include <string.h>
#include <iostream>
#include<algorithm>
using namespace std;
const int maxn=1e5+7;
int dp[maxn][11],x,t,n;
int main()
    while(scanf("%d",&n)&&n)
        memset(dp,0,sizeof(dp));
        int maxt=0;
        for(int i=0;i<n;i++)
            scanf("%d%d",&x,&t);
            dp[t][x]++;
            if(t>maxt)maxt=t;
        
        for(int i=maxt-1;i>=0;i--)
        for(int j=0;j<=10;j++)
            if(!j)dp[i][j]+=max(dp[i+1][j],dp[i+1][j+1]);
            else if(j==10)dp[i][j]+=max(dp[i+1][j],dp[i+1][j-1]);
            else dp[i][j]+=max(dp[i+1][j],max(dp[i+1][j-1],dp[i+1][j+1]));
        
        printf("%d\n",dp[0][5]);
    
    return 0;

 

以上是关于简单dp——HDU - 1176的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1176 逆向dp very easy~

[HDU1176]免费馅饼(DP)

HDU 1176 免费馅饼

hdu-1176(dp)

HDU-1176 免费馅饼 ( DP )

HDU1176 免费馅饼 —— DP