题目描述

给你一个序列包含 \(n\) 个元素的序列 \(a_1, a_2, \dots , a_n\) (每个元素 \(a_i \ne 0\))。

你需要计算如下两个值:

  1. 有多少对数 \((l, r) (l \le r)\) 满足 \(a_l \cdot a_{l + 1} \dots a_{r - 1} \cdot a_r\) 的结果为正;
  2. 有多少对数 \((l, r) (l \le r)\) 满足 \(a_l \cdot a_{l + 1} \dots a_{r - 1} \cdot a_r\) 的结果为负。

即:这个序列中有多少子串(子串即连续子序列)的乘积为正,有多少子串的乘积为负。

输入格式

输入的第一行包含一个整数 \(n (1 \le n \le 2 \cdot 10^{5})\) —— 用于表示序列中元素的个数。

输入的第二行包含 \(n\) 个整数 \(a_1, a_2, \dots , a_n (-10^{9} \le a_i \le 10^{9}; a_i \neq 0)\) ,用于表示序列中的元素。

输出格式

输出两个正数,以一个空格分隔。分别表示乘积为正的子串的个数,以及乘积为负的子串的个数。

样例输入1

5
5 -3 3 -1 1

样例输出1

8 7

样例输入2

10
4 2 -4 3 1 2 -4 3 2 3

样例输出2

28 27

样例输入3

5
-1 -2 -3 -4 -5

样例输出3

9 6

P1077 子串乘积正负分类的更多相关文章

  1. NYOJ-44 子串和 AC 分类: NYOJ 2014-01-04 22:53 154人阅读 评论(0) 收藏

    作为菜鸟一枚,对子串和的代码完全就是硬算 的..结果是TLE #include<stdio.h> int jh(int x,int y,int num[],int sum[]); int ...

  2. 九度OJ 1501 最大连续子序列乘积 -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1501 题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 输入: 输入可能包含 ...

  3. 北京培训记day2

    后缀三姐妹 P.S.后缀大家族关系:后缀自动机fail指针=后缀树,后缀树前序遍历=后缀数组 一.后缀数组:orz罗穗骞集训队论文 给每个后缀按字典序排序 rank[]表示从i开始的后缀排名多少 sa ...

  4. hihocoder SAM基础概念

    后缀自动机一·基本概念 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称 ...

  5. 通俗易懂的信息熵与信息增益(IE, Information Entropy; IG, Information Gain)

    信息熵与信息增益(IE, Information Entropy; IG, Information Gain) 信息增益是机器学习中特征选择的关键指标,而学习信息增益前,需要先了解信息熵和条件熵这两个 ...

  6. Python机器学习(python简介篇)

    1.Python 数据类型 Python 内置的常用数据类型共有6中: 数字(Number).布尔值(Boolean).字符串(String).元组(Tuple).列表(List).字典(Dictio ...

  7. MySQL建表、插入语句等

    不定时更新MySQL的一些基础语句以及出现过的问题 5.10 建表语句 CREATE TABLE `policy_landvalue` ( `id` ) NOT NULL AUTO_INCREMENT ...

  8. [CodeForces - 614E] E - Necklace

    E - Necklace Ivan wants to make a necklace as a present to his beloved girl. A necklace is a cyclic ...

  9. 【loj6029】「雅礼集训 2017 Day1」市场 线段树+均摊分析

    题目描述 给出一个长度为 $n$ 的序列,支持 $m$ 次操作,操作有四种:区间加.区间下取整除.区间求最小值.区间求和. $n\le 100000$ ,每次加的数在 $[-10^4,10^4]$ 之 ...

随机推荐

  1. UE4 Pak 相关知识总结

    转载自:https://arcecho.github.io/2017/07/02/UE4-Pak-%E7%9B%B8%E5%85%B3%E7%9F%A5%E8%AF%86%E6%80%BB%E7%BB ...

  2. 《2019上半年DDoS攻击态势报告》发布:应用层攻击形势依然严峻,海量移动设备成新一代肉鸡

    2019年上半年,阿里云安全团队平均每天帮助用户防御2500余次DDoS攻击,与2018年持平.目前阿里云承载着中国40%网站流量,为全球上百万客户提供基础安全防御.可以说,阿里云上的DDoS攻防态势 ...

  3. Permutations II 去掉重复的全排列

    Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

  4. 在Debug模式下,如何给.lib和.dll添加一个d标记(*d.lib,*d.dll)

    选中工程->右键->属性->配置属性->常规,可以看到项目默认值的配置类型有好几种类型,选择静态库类型生成lib文件,选择动态库类型生成dll文件,选择应用程序生成exe文件, ...

  5. hdu3549 最大流

    #include<stdio.h> #include<string.h> #include<queue> #define MAXN 1010 using names ...

  6. oracle loader

    控制文件的格式    load data    infile '数据文件名'    into table 表名    (first_name position(01:14) char,     sur ...

  7. SDUT-3361_迷宫探索

    数据结构实验之图论四:迷宫探索 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 有一个地下迷宫,它的通道都是直的,而通道 ...

  8. 【机器学习】Iris Data Set(鸢尾花数据集)

    [机器学习]Iris Data Set(鸢尾花数据集) 注:数据是机器学习模型的原材料,当下机器学习的热潮离不开大数据的支撑.在机器学习领域,有大量的公开数据集可以使用,从几百个样本到几十万个样本的数 ...

  9. Python基础:14生成器

    yield表达式只用于定义生成器函数,且只能存在于函数的定义体中.只要一个函数内部使用了yield表达式,则该函数就成为生成器函数. 当调用生成器函数时,它返回一个称为生成器的迭代器.然后该生成器控制 ...

  10. TOP10!全球顶级云计算公司战斗力排行榜

    TOP10!全球顶级云计算公司战斗力排行榜 1亚马逊\VMware.微软 [PConline 资讯]现如今,不谈“云”,似乎会与这个时代格格不入.无论是企业还是个人,都会与“云”扯上关系.可以说,云计 ...