#T0078. 观星台的灵石
0
观星台的灵石
题目背景
云岚学院的观星台上摆着一排灵石,共 N 颗,从左到右编号 1…N。每颗灵石都会发出微光, 导师用一个整数记录它今晚的亮度(可能为负数,表示灵石暂时黯淡)。
今晚的天象有个讲究:只有连续一段、亮度全为奇数的灵石,才能连成一串“星链”。 见习生要统计:这排灵石里,一共能找出多少串满足条件的星链?
只要两段星链包含的灵石编号不完全相同,就算不同的星链。
题目描述
给定长度为 N 的整数序列 a₁…a_N。请统计有多少个连续子段 [l,r], 使得 a_l, a_{l+1}, …, a_r 全部是奇数。
输入格式
第一行一个整数 N(1 ≤ N ≤ 200000)。 第二行 N 个整数 a₁…a_N(−10⁹ ≤ a_i ≤ 10⁹),空格分隔。
输出格式
一行一个整数,表示星链数量(答案可能超过 32 位整数范围,请使用 64 位整数)。
样例输入 #1
5
3 5 2 7 9
样例输出 #1
6
样例解释 #1
奇数灵石连出两个连续段:[1,2](3、5)长度 2,[4,5](7、9)长度 2。 长度为 k 的全奇数连续段内部共有 1+2+…+k = k(k+1)/2 个连续子段, 故答案为 3 + 3 = 6。
数据范围
- 1 ≤ N ≤ 2×10⁵
- −10⁹ ≤ a_i ≤ 10⁹;负数奇数(如 −3)仍是奇数,判定请用
x % 2 != 0,不要只判断x % 2 == 1。
冀公网安备13098402000493号