Association for the Country of Mububa Kattis - mububa (DP)

Posted letlifestop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Association for the Country of Mububa Kattis - mububa (DP)相关的知识,希望对你有一定的参考价值。

题目链接:

https://cn.vjudge.net/problem/Kattis-mububa

题目大意:

给你n个箱子,每个箱子里面装着一定数量的香蕉,让你按照这个箱子的顺序分发这些香蕉;在每个人获得的香蕉是非递减的前提下,最多能分多少个人?

具体思路:

dp[i]表示以第i个为结尾的这个人拿多少的香蕉是最合适的。

num数组记录人数。

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 # define inf 0x3f3f3f3f
 4 # define ll_inf (1ll<<60)
 5 # define ll long long
 6 # define lson l,mid,rt<<1
 7 # define rson mid+1,r,rt<<1|1
 8 const ll maxn = 3e5+100;
 9 const ll mod = 1e9+7;
10 ll dp[maxn];
11 ll pre[maxn];
12 ll num[maxn];
13 int main()
14 
15     int n;
16     scanf("%d",&n);
17     ll tmp;
18     for(int i=1; i<=n; i++)
19     
20         scanf("%lld",&tmp);
21         pre[i]=pre[i-1]+tmp;
22     
23     for(int i=1; i<=n; i++)
24     
25         for(int j=i-1; j>=0; j--)
26         
27             if(pre[i]-pre[j]>=dp[j])//  这里找到之后停了就可以了;假设最优解在前面,那么这个点的后面也一定能符合的,因为是越加越多的
28             
29                 dp[i]=pre[i]-pre[j];
30                 num[i]=num[j]+1;
31                 break;
32             
33         
34     
35     printf("%lld\n",num[n]);
36     return 0;
37 

 

以上是关于Association for the Country of Mububa Kattis - mububa (DP)的主要内容,如果未能解决你的问题,请参考以下文章

关于An association from the table refers to an unmapped class

关于An association from the table XX refers to an unmapped class错误

Kattis - Association for Computing Machinery

Kattis-Association for Computing Machinery

Kattis-Association for Computing Machinery

Kattis-Association for Computing Machinery