problem-1003(恢复一下)
问题:
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.
给你一串数字,要求求其和最大的子序列(连续的),最后输出该子序列的起始坐标,以及最大的和。
另:每个序列最多有100000个整数,整数的范围是[-1000,1000]。
代码:
#include <stdio.h>
#include <stdlib.h>
int a[100000];
int main()
{
int T,N,i,max,end,start,t,count=1;
long sum;
scanf("%d",&T);
while(T--){
scanf("%d",&N);
sum=0;
start=end=t=1;
max=-1001;
for(i=0;i<N;){
scanf("%d",&a[i]);
sum+=a[i];
i++;
if(sum>max){
max=sum;
start=t;
end=i;
}
if(sum<0){
t=i+1;
sum=0;
}
}
printf("Case %d:\n",count++);
printf("%d %d %d\n",max,start,end);
if(T>0) printf("\n");
}
return 0;
}
红色部分是用来找到和最大子序列的开端坐标与结尾坐标。试想如果前一段子序列的和小于0,则该段子序列完全可以丢掉 ,即“潜在和最大子序列”的开端坐标变为该总和为负的子序列的下一个坐标;而结束坐标便是最后一个令sum>max的整数的坐标。
problem-1003(恢复一下)的更多相关文章
- BestCoder Round #56 1002 Clarke and problem 1003 Clarke and puzzle (dp,二维bit或线段树)
今天第二次做BC,不习惯hdu的oj,CE过2次... 1002 Clarke and problem 和Codeforces Round #319 (Div. 2) B Modulo Sum思路差不 ...
- 题解西电OJ (Problem 1003 -最喜欢的数字)--动态规划
Description zyf最喜欢的数字是1!所以他经常会使用一些手段,把一些非1的数字变 成1,并为此得意不已.他会且仅会的两种手段是: 1.把某个数m除以某个质数p——当然p必须能整除这个数,即 ...
- BZOJ 1003 物流运输 题解 【SPFA+DP】
BZOJ 1003 物流运输 题解 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的 ...
- CSUFT 1003 All Your Base
1003: All Your Base Time Limit: 1 Sec Memory Limit: 128 MB Submit: 4 Solved: 2 Description ...
- 【BZOJ】【1003】【ZJOI2006】物流运输trans
最短路/DP 这题数据规模并不大!!这是重点……… 所以直接暴力DP就好了:f[i]表示前 i 天的最小花费,则有$f[i]=min\{f[j]+cost[j+1][i]+k\} (0\leq j \ ...
- 题目1003:A+B(按逗号分隔的A+B)
题目链接:http://ac.jobdu.com/problem.php?pid=1003 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- 题目1003:A+B
题目1003:A+B 时间限制:1 秒内存限制:32 兆 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开. 现在请计算A+B的结果,并以正常形式 ...
- 1003 Emergency (25)(25 point(s))
problem 1003 Emergency (25)(25 point(s)) As an emergency rescue team leader of a city, you are given ...
- Lightoj 1003 - Drunk(拓扑排序判断是否有环 Map离散化)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1003 题意是有m个关系格式是a b:表示想要和b必须喝a,问一个人是否喝醉就看一个人是 ...
- 1003: [ZJOI2006]物流运输 最短路+dp
https://www.lydsy.com/JudgeOnline/problem.php?id=1003 数据范围很小,怎么瞎搞都行,n方dp,然后跑出最短路暴力转移,需要注意的是不能使用的可能有多 ...
随机推荐
- 通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素.可以通过 text/HTML.jQuery 或者 JavaScript/DOM 来创建新元素. 在下面的例子中,我们创建若干 ...
- easyui datagrid onLoadSuccess加载两次。。
今天使用EasyUI的datagrid时发现首次打开页面时onLoadSuccess方法执行了两次.后来发现主要问题是datagrid被初始化了两次.主要原因是一开始html中声明了dg为easyui ...
- 从获取点击事件根元素谈 target和currentTarget
事情由来: 写了一个点击事件,想获取根元素,想的直接用current就行了,因为之前就是这么用的,但是之前的点击元素是没子元素的,current就是根元素,但是这次点击元素内部有子元素,current ...
- PYTHON -转载,获取淘宝数据01
import requests import sys import random api = { 'number':[ 'https://acs.m.taobao.com/h5/mtop.taobao ...
- cocos2d-x - android 学习(集成NDK、配置开发环境)
先来贴上一大神的博客:日月之明 --- http://www.cnblogs.com/lhming/tag/cocs2d-x/ 需要工具和软件包:Eclipse.Android SDK.Android ...
- gridgroup行内编辑删除
Ext.define('Task', { extend: 'Ext.data.Model', idProperty: 'taskId', fields: [ { name: 'projectId', ...
- NetBeans执行项目报错
1.错误描写叙述 严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start ...
- 封装AJax实现JSON前台与后台交互
实践技术点:1.AJax自定义封装 2.后台序列化与反序列化JSON 3.客户端解析JSON字符串,处理DOM 实现代码如下: 1.JS脚本代码: 1 /*** NOTE:AJAX处理JS TIM ...
- jQuery DOM 元素方法(get)
jQuery DOM 元素方法 1..get() 获得由选择器指定的 DOM 元素. $(selector).get(index)index 可选.规定获取哪个匹配元素(通过 index 编号). 实 ...
- RedHat6/Centos6.5安装mongodb php driver
条件: 安装apache 安装php 1.下载mongodb phh driver 下载地址:pecl wget http://pecl.php.net/get/mongo-1.5.8.tgz 2.解 ...