poj2385 Apple Catching

Posted 王宜鸣

tags:

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

思路:

简单dp。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int t,w,x[1005];
 6 int dp[1005][2][35];
 7 int dfs(int now,int cur,int rem)
 8 {
 9     if(dp[now][cur][rem] != -1)
10         return dp[now][cur][rem];
11     if(now == t)
12         return 0;
13     int p = dfs(now + 1,cur,rem) + (cur == x[now] - 1);
14     if(rem >= 1)
15         p = max(p, dfs(now,1 - cur,rem - 1) + (cur == x[now] - 1));
16     return dp[now][cur][rem] = p;
17 }
18 int main()
19 {
20     memset(dp,-1,sizeof(dp));
21     cin >> t >> w;
22     for(int i = 0;i < t;i ++)
23     {
24         scanf("%d",&x[i]);
25     }
26     cout << dfs(0,0,w) << endl;
27     return 0;
28 }

 

以上是关于poj2385 Apple Catching的主要内容,如果未能解决你的问题,请参考以下文章

POJ 2385 Apple Catching

poj 2385 Apple Catching

Apple Catching POJ - 2385

POJ 2385 -- Apple Catching

POJ 2385 Apple Catching

poj 2385 Apple Catching