hdu 1087 Super Jumping! Jumping! Jumping!

来源:互联网 发布:宁波软件开发哪家好 编辑:程序博客网 时间:2024/06/07 05:33

vjudge今晚不知道怎么了,抽风了一段时间,于是我接着复习去了,结果又不想复习再一连就连上来了,算了刷刷水题,涨涨自信吧。

记忆化搜索dp,思路不说了,注意一下longlong不要溢出就可以。

题目链接:https://vjudge.net/problem/HDU-1087

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1005;int n;int G[maxn];long long dp[maxn];long long dfs (int pos) {if (pos == n) return dp[pos] = G[pos];if (dp[pos]) return dp[pos];long long ans = G[pos];for (int i = 1 ; i <= n-pos ; i++)if(G[pos] < G[pos+i]) ans = max(ans , dfs(pos+i)+G[pos]);return dp[pos] = ans;}int main () {while (scanf("%d" , &n) != EOF && n) {long long ans = 0;memset(dp,0,sizeof(dp));memset(G, 0,sizeof(G));for (int i = 1 ; i <= n ; i++)scanf("%d" , &G[i]);for(int i = 1 ; i <= n ; i++)ans = max(ans , dfs(i));printf("%d\n" , ans);}}


0 0
原创粉丝点击