首页 > 其他 > 详细

洛谷 P3009 [USACO11JAN]利润Profits

时间:2019-07-14 18:17:15      阅读:85      评论:0      收藏:0      [点我收藏+]

嗯...

 

题目链接:https://www.luogu.org/problemnew/show/P3009

 

这是DP的另一个功能,求最大子段和(最大子段和模板:https://www.luogu.org/problemnew/show/P1115),动态转移方程为:

1 dp[i] = max(a[i], dp[i - 1] + a[i]);

 

AC代码:

技术分享图片
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 
 5 using namespace std;
 6 
 7 const int maxn = 100005;
 8 
 9 int dp[maxn], p[maxn];
10 
11 int main(){
12     int n;
13     scanf("%d", &n);
14     for(int i = 1; i <= n; i++)
15         scanf("%d", &p[i]);
16     for(int i = 1; i <= n; i++)
17         dp[i] = max(dp[i - 1] + p[i], p[i]);
18     sort(dp + 1, dp + 1 + n);
19     printf("%d", dp[n]);
20 }
AC代码

 

洛谷 P3009 [USACO11JAN]利润Profits

原文:https://www.cnblogs.com/New-ljx/p/11185037.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!