题意:

连续最大积

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)

Total Submission(s): 1354    Accepted Submission(s): 458

Problem Description

小明和他的好朋友小西在玩一个游戏,由电脑随机生成一个由-2,0,2三个数组成的数组,并且约定,谁先算出这个数组中某一段连续元素的积的最大值,就算谁赢!

比如我们有如下随机数组:

2 2 0 -2 0 2 2 -2 -2 0 

在这个数组的众多连续子序列中,2 2 -2 -2这个连续子序列的积为最大。

现在小明请你帮忙算出这个最大值。 

 

Input

第一行输入一个正整数T,表示总共有T组数据(T <= 200)。

接下来的T组数据,每组数据第一行输入N,表示数组的元素总个数(1<= N <= 10000)。

再接下来输入N个由0,-2,2组成的元素,元素之间用空格分开。

 

Output

对于每组数据,先输出Case数。

如果最终的答案小于等于0,直接输出0

否则若答案是2^x ,输出x即可。

每组数据占一行,具体输出格式参见样例。

 

Sample Input

2

2

-2 0

10

2 2 0 -2 0 2 2 -2 -2 0

 

Sample Output

Case #1: 0

Case #2: 4


思路:

     和最大连续子序列差不多,当0的时候置为0,要注意的事还有开个东西,记录当前有多少个负数,更新的时候只有偶数的时候在更新,就这样,果断敲完,果断wa了,哎! 其实没考虑到这个问题,-2 2 2 2 2 2  我们在倒着跑一便就能排除这种情况了,因为毕竟只有奇偶两种情况...还有一点就是,如果最小的是-2那么只哟一种情况 就是只哟一个数字 并且这个数字是-2,自己稍微想下就明白,不解释...


#include<stdio.h>

#define N (10000 + 500)

int
num[N]; int main ()
{
int
t ,n ,i ,ans_max ,cas = 1;
scanf("%d" ,&t);
while(
t--)
{

scanf("%d" ,&n);
int
mk0 = 0;
for(
i = 1 ;i <= n ;i ++)
{

scanf("%d" ,&num[i]);
if(
num[i]) mk0 = 1;
}

printf("Case #%d: " ,cas ++);
if(!
mk0 || n == 1 && num[1] == -2)
{

printf("0\n");
continue;
}

ans_max = 0;
int
now = 0;
int
ss = 0;
for(
i = 1 ;i <= n ;i ++)
{
if(!
num[i])
{

ss = now = 0;
continue;
}
if(
num[i] < 0) ss ++;
now ++;
if(
ss % 2 == 0 && ans_max < now)
ans_max = now;
}

now = 0;
ss = 0;
for(
i = n ;i >= 1;i --)
{
if(!
num[i])
{

ss = now = 0;
continue;
}
if(
num[i] < 0) ss ++;
now ++;
if(
ss % 2 == 0 && ans_max < now)
ans_max = now;
}

printf("%d\n" ,ans_max);
}
return
0;
}

hdu4561 连续最大积的更多相关文章

  1. hdu-4561 连续最大积( 水题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4561 求连续最大积. 他妈的狗逼思路到底咋说..... 思路是 %&*()*(&--))*)*& ...

  2. 求连续最大子序列积 - leetcode. 152 Maximum Product Subarray

    题目链接:Maximum Product Subarray solutions同步在github 题目很简单,给一个数组,求一个连续的子数组,使得数组元素之积最大.这是求连续最大子序列和的加强版,我们 ...

  3. Java for LeetCode 152 Maximum Product Subarray

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  4. hdu 4561 模拟小题

    连续最大积 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Subm ...

  5. Leetcode 记录(101~200)

    Now, I want to just use English to explain the problem, it's about two month before the interview, s ...

  6. 【动态规划】Part1

    1. 硬币找零 题目描述:假设有几种硬币,如1.3.5,并且数量无限.请找出能够组成某个数目的找零所使用最少的硬币数. 分析:   dp [0] = 0           dp [1] = 1 + ...

  7. LeetCode practice

    子集和问题:给定一组数和一个值,从这组数中选出若干个数使其和为给定的值.这是个NPC问题. 1.https://leetcode.com/problems/counting-bits/#/soluti ...

  8. Algo: maxSubArray vs. maxProduct

    这两个问题类似,都可利用动态规划思想求解. 一.最大连续子序列和 https://leetcode.com/problems/maximum-subarray/description/ https:/ ...

  9. X000011

    P1890 gcd区间 \(\gcd\) 是满足结合律的,所以考虑用 ST 表解决 时间复杂度 \(O((n\log n+m)\log a_i)\) 考虑到 \(n\) 很小,你也可以直接算出所有的区 ...

随机推荐

  1. CCF(棋局评估)博弈论+对抗搜索+DFS

    201803-4 棋局评估 这题主要使用对抗搜索,也就是每一步寻找可以下棋的位置,通过在这一步下棋看最后会取的什么样的分数. #include<iostream> #include< ...

  2. 我与FreeBSD的故事之一

    记得还是那些无聊的日子,群里有网友称Linux只能玩WPS,我表示质疑,并通过百度这个搜索引擎搜索到了Ubuntu Kylin,即由湖南的国防科技大学与Ubuntu社区合作并由其主导的Ubuntu麒麟 ...

  3. FreeBSD 乃至开源界中的孔乙己 再论苦难哲学之一

    在许多狂热的FreeBSD 粉丝里,他们甚至不允许别人把FreeBSD写作freebsd,要和你强调,F和BSD都是大写的.还说这是什么尊重之类的东西.大抵和孔乙己的茴香豆的茴的有四种写法一样吧:&q ...

  4. Apache配置 1. 默认虚拟主机

    编辑httpd.conf搜索httpd-vhosts,去掉#号 # vi /usr/local/apache2.4/conf/httpd.conf Include conf/extra/httpd-v ...

  5. 2019 GDUT Rating Contest III : Problem E. Family Tree

    题面: E. Family Tree Input file: standard input Output file: standard output Time limit: 1 second Memory ...

  6. UML类图画法整理

    一 类图画法 1.类图的概念 显示出类.接口以及他们的静态结构和关系,用于描述系统的结构化设计. 2.类 类是对一组具有相同属性.操作.关系和语义对象的抽象,是面向对象的核心,包括名称.属性和方法.如 ...

  7. OpenCV 之 图象几何变换

    二维平面中,图像的几何变换有等距.相似.仿射.投影等,如下所示: 1  图象几何变换 1.1  等距变换 等距变换 (Isometric Transformation),是一种二维的刚体变换,可理解为 ...

  8. Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序

    一,引言 起因是前两天项目上做测试,需要我把写好的基于.NET 5 的 Web 测试程序作成 Docker 镜像.当我在本地验证完功能后,准备利用 Docker 构建应用程序镜像的时候,发现系统不支持 ...

  9. String类的使用2

    /*String:字符串,使用一对""引起来表示.1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的. 实现 ...

  10. oo第四单元作业总结暨课程总结

    oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...