杭电 1003 Max Sum (动态规划)
参考:https://www.cnblogs.com/yexiaozi/p/5749338.html
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e5+;
int a[N],dp[N];
int n;
void test()
{
cout<<"\n---------\n";
for (int i=;i<=n;i++)
{
cout<<'['<<a[i]<<']';
}
cout<<endl;
for (int i=;i<=n;i++)
{
cout<<'['<<dp[i]<<']';
}
cout<<"\n------------\n";
}
int main()
{
int t;
// freopen("btext.txt","r",stdin);
while (cin>>t)
{
for (int ca=;ca<=t;ca++)
{
cin>>n;
int ans=-N,s,e;
memset(a,,sizeof(a));
memset(dp,,sizeof(dp));
for (int i=;i<=n;i++)
{
cin>>a[i];
dp[i]=max(dp[i-]+a[i],a[i]);
// test();
if (dp[i]>ans)
{
ans=dp[i];
e=i;
}
}
int sum=;
for (int i=e;i>=;i--)
{
sum+=a[i];
if (sum==ans)//要求第一个例子,所以不能break!
{
s=i;
}
}
cout<<"Case "<<ca<<':'<<endl;
cout<<ans<<' '<<s<<' '<<e<<endl;
if (ca!=t)//注意格式!
{
cout<<endl;
}
}
} return ;
}
杭电 1003 Max Sum (动态规划)的更多相关文章
- 杭电1003 Max Sum 【连续子序列求最大和】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目意思: 即给出一串数据,求连续的子序列的最大和 解题思路: 因为我们很容易想到用一个max ...
- 杭电1003 Max Sum TLE
这一题目是要求连续子序列的最大和,所以在看到题目的一瞬间就想到的是把所有情况列举出来,再两个两个的比较,取最大的(即为更新最大值的意思),这样的思路很简单,但是会超时,时间复杂度为O(n^3),因为有 ...
- HDU 1003 Max Sum (动态规划 最大区间和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 杭电1003 MAX SUN
Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum ...
- hdu 1003 Max Sum(动态规划)
解题思路: 本题在给定的集合中找到最大的子集合[子集合:集合的元素的总和,是所有子集合中的最大解.] 结果输出: 最大的子集合的所有元素的和,子集合在集合中的范围区间. 依次对元素相加,存到一个 su ...
- HDOJ(HDU).1003 Max Sum (DP)
HDOJ(HDU).1003 Max Sum (DP) 点我挑战题目 算法学习-–动态规划初探 题意分析 给出一段数字序列,求出最大连续子段和.典型的动态规划问题. 用数组a表示存储的数字序列,sum ...
- HDU 1003 Max Sum --- 经典DP
HDU 1003 相关链接 HDU 1231题解 题目大意:给定序列个数n及n个数,求该序列的最大连续子序列的和,要求输出最大连续子序列的和以及子序列的首位位置 解题思路:经典DP,可以定义 ...
- hdu 1003 Max Sum (DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max Sum Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1003 Max Sum【动态规划求最大子序列和详解 】
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
随机推荐
- kubeadm安装kubernetes 1.12版本
直接写过程,有些描述就省略了关于kubeadm安装k8s 1.11.2版本可以查看:https://www.cnblogs.com/shansongxian/p/9753603.html 首先查看下k ...
- (EXPDP) Fails With Errors ORA-39079 ORA-25306 On One Node In RAC Environment
分类: Oracle DataPump export on one certain RAC instance fails with errors: ORA-39006: internal errorO ...
- linux系统(CentOS)下安装PhantomJS
1.查看linux系统位数,来判断下载适配的PhantomJS: 输入命令:# lsb_release -a 2.下载PhantomJS: 从官网http://phantomjs.org/downlo ...
- HDU 3625 第一类斯特林数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3625 题意: n个房间,房间里面放着钥匙,允许破门而入k个,拿到房间里面的钥匙后可以打开对应的门,但是 ...
- 2018.11.7 关于将Web项目部署到阿里云服务器-5个步骤搞定
将Eclipse导出的War包部署到阿里云服务器上,提供给移动端实时的访问 1. 先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9 ...
- 10474 - Where is the Marble?(模拟)
传送门: UVa10474 - Where is the Marble? Raju and Meena love to play with Marbles. They have got a lot o ...
- sql字段为datetime,插入''的时候默认为1900年
Microsoft SQL Server Database Engine 用两个 4 字节的整数内部存储 datetime 数据类型的值. 第一个 4 字节存储“基础日期”(即 1900 年 1 月 ...
- data-ng-hide指令
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- android ListView 与GridView 学习总结(五)
ListView的使用总结 基本使用: 步骤:在布局文件中定义一个ListView控件-在活动中获得ListView的实例-获得适配器adapter的实例并且传入三个参数-把适配器对象传递给lis ...
- Python 学习笔记(六)Python第一个程序
Python 语句 赋值语句 1.将3对象赋值给了变量a 2.将3,4赋值给了变量a,b >>> a = 3 >>> a ,b = 3,4 >>> ...