算法分析:

  一列数   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 添加元素和删除元素

    jQuery - 添加元素 append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元 ...

  2. 配置Windows 2008 R2 64位 Odoo 8.0/9.0 源码开发调试环境

    安装过程中,需要互联网连接下载python依赖库: 1.安装: Windows Server 2008 R2 x64标准版 2.安装: Python 2.7.10 amd64 到C:\Python27 ...

  3. Linux简史

    原著:Ragib HasanDepartment of Computer ScienceUniversity of Illinois at Urbana-Champaign 翻译:王晓林 混沌初开 那 ...

  4. Hibernate 插入,修改,删除,查询语句

    /* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...

  5. 第22章 项目3:万能的XML

    Mix-in:混入类,是一种Python程序设计中的技术,作用是在运行期间动态改变类的基类或类的方法,从而使得类的表现可以发生变化.可以用在一个通用类接口中. 在实践一个解析XML文件的实践中,体会动 ...

  6. Azure Websites Migration Assistant

    这是一个IIS+Database的迁移工具, 可以参考 http://channel9.msdn.com/Shows/Azure-Friday/Azure-Websites-Migration-Ass ...

  7. CPU 时间片 分时 轮转调度

    时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的.如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进 ...

  8. Javascript Array.prototype.some()

    当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02     "mercury", 03     " ...

  9. [转]一个基于完成端口的TCP Server Framework,浅析IOCP

    [转]一个基于完成端口的TCP Server Framework,浅析IOCP http://www.cppblog.com/adapterofcoms/archive/2010/06/26/1187 ...

  10. 清除SQL Server执行计划

    有时需要调试SQL语句的性能, 需要不断的执行SQL语句, 可是多次执行同一条语句的时候,SQL Server 会缓存表的数据,结果就测不出来 实际的 SQL 的性能 用以下SQL可以清除缓存数据 D ...