算法分析:

  一列数   a[0],a[1],……a[i]……

  定义数组b[0],b[1,]……b[i]……

***b[i]为i之前的任意位置到i的最大连续和!!!

b[i]=max{b[i-1]+a[i],a[i]}

package Main;

import java.util.Scanner;

public class Main {
public static void main(String[] args)
{
int _case,n,i;
int []a=new int [100100];
int []b=new int [100100];//dp
int []c=new int [100100];//记录下标
Scanner cin=new Scanner(System.in);
_case=cin.nextInt();
int js=0;
while(_case-->0)
{
js++;
n=cin.nextInt();
for(i=0;i<n;i++)
{
a[i]=cin.nextInt();
}
b[0]=a[0];
c[0]=0;
for(i=1;i<n;i++)
{
if(b[i-1]+a[i]<a[i])
{
b[i]=a[i];
c[i]=i;
}
else
{
b[i]=b[i-1]+a[i];
c[i]=c[i-1];
}
}
int ed=0;
int max=b[0];
for(i=1;i<n;i++)
{
if(max<b[i])
{
max=b[i];
ed=i;
}
}
System.out.println("Case "+js+":");
System.out.println(max+" "+(c[ed]+1)+" "+(ed+1));
if(_case>0)System.out.println();
}
}
}

注意输出格式, Output a blank line between two cases.

#include<stdio.h>
int a[];
int b[];
int c[];
int main()
{
int _case,n,i;
scanf("%d",&_case);
int js=;
while(_case--)
{
js++;
scanf("%d",&n);
for(i=;i<n;i++)
scanf("%d",&a[i]);
b[]=a[];
c[]=;
for(i=;i<n;i++)
{
if(b[i-]+a[i]<a[i])
{
c[i]=i;
b[i]=a[i];
}
else
{
c[i]=c[i-];
b[i]=b[i-]+a[i];
}
}
int ed=,max=b[];
for(i=;i<n;i++)
{
if(max<b[i])
{
max=b[i];
ed=i;
}
}
printf("Case %d:\n",js);
printf("%d %d %d\n",max,c[ed]+,ed+);
if(_case>)printf("\n");
}
return ;
}

hdu 1003(详解) java的更多相关文章

  1. 详解Java GC的工作原理+Minor GC、FullGC

    详解Java GC的工作原理+Minor GC.FullGC 引用地址:http://www.blogjava.net/ldwblog/archive/2013/07/24/401919.html J ...

  2. Protocol Buffer技术详解(Java实例)

    Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...

  3. 详解Java中的clone方法

    详解Java中的clone方法 参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201/ 所谓的复制对象,首先要分配一个和源对象同样 ...

  4. java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的

    本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所 ...

  5. 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)

    在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...

  6. 第三节:带你详解Java的操作符,控制流程以及数组

    前言 大家好,给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. 这里的操作算法,一 ...

  7. 第十八节:详解Java抽象类和接口的区别

    前言 对于面向对象编程来说,抽象是它的特征之一. 在Java中,实现抽象的机制分两种,一为抽象类,二为接口. 抽象类为abstract class,接口为Interface. 今天来学习一下Java中 ...

  8. 详解java动态代理机制以及使用场景

    详解java动态代理机制以及使用场景 https://blog.csdn.net/u011784767/article/details/78281384 深入理解java动态代理的实现机制 https ...

  9. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

随机推荐

  1. JQuery window.opener

    $('#Save').click(function () {    var parent = $(parent.document.body);    $(parent).find('input#add ...

  2. 优化过的redis封装类

    转http://www.cnblogs.com/jackluo/p/3410192.html <?php /** * RedisCluster 群redius操作类 * * //创建连接 * $ ...

  3. [大牛翻译系列]Hadoop(20)附录A.10 压缩格式LZOP编译安装配置

    附录A.10 LZOP LZOP是一种压缩解码器,在MapReduce中可以支持可分块的压缩.第5章中有一节介绍了如何应用LZOP.在这一节中,将介绍如何编译LZOP,在集群做相应配置. A.10.1 ...

  4. [大牛翻译系列]Hadoop(9)MapReduce 性能调优:理解性能瓶颈,诊断map性能瓶颈

    6.2 诊断性能瓶颈 有的时候作业的执行时间会长得惊人.想靠猜也是很难猜对问题在哪.这一章中将介绍如何界定问题,找到根源.涉及的工具中有的是Hadoop自带的,有的是本书提供的. 系统监控和Hadoo ...

  5. Python脚本控制的WebDriver 常用操作 <二十> 处理表单元素

    测试用例场景 表单对象的操作比较简单,只需要记住下面几点 使用send_keys方法往多行文本框和单行文本框赋值: 使用click方法选择checkbox 使用click方法选择radio 使用cli ...

  6. Posix 共享内存区

    要点 与mmap配合使用 open与shm_open的区别,open打开磁盘上的普通文件,shm_open创建和打开的文件在/dev/shm文件夹下,该文件夹对应的是内存 gcc编译时加参数-lrt ...

  7. 关于htmlentities 、htmlspecialchars、addslashes的使用

    1.html_entity_decode():把html实体转换为字符. Eg:$str = "just atest & 'learn to use '"; echo ht ...

  8. Apache网站根目录

    Apache环境配置好了,把项目放到网站根目录下的htdocs文件夹下,运行网站的时候不需要加上该文件夹的名称,Apache直接在上面找对应的项目

  9. C# Double toString保留小数点方法

    有时候double型数据需要toString(),但又想保留小数,当值为整数,比如3.00时tostring后会变为”3″,具体说明见下: 1 string str0 = i.ToString(&qu ...

  10. VBS基础篇 - Dictionary对象

    Dictionary是存储数据键和项目对的对象,其主要属性有Count.Item.Key,主要方法有Add.Exists.Items.Keys.Remove.RemoveAll. '建立字典 Dim ...