/ Vijos / 题库 /

追踪

追踪

时间限制:1秒  内存限制:256M


【题目描述】

  Farmer John 有 \(N(1≤N≤3⋅10^5)\) 头奶牛排成一列。不幸的是,有一种疾病正在传播。

  最初,有一些奶牛被感染。每到夜晚,被感染的奶牛会将疾病传播给它左右两边的奶牛(如果这些奶牛存在的话)。一旦奶牛被感染,她就会持续处于感染状态。

  经过一些晚上,Farmer John 意识到情况已经失控,因此他对奶牛进行了检测以确定哪些奶牛感染了疾病。请找出最少有多少头奶牛最初可能感染了这种疾病。

【输入格式】

  第一行为一个整数 \(N\),即 Farmer John 拥有的奶牛数量。
  接下来一行,包含长度为 \(N\) 的由 1 和 0 组成的位串。其中 1 表示一头被感染的奶牛,0 表示一头在经过若干晚之后仍未被感染的奶牛。

【输出格式】

  输出一个整数,表示最少有多少头奶牛可能最初感染了这种疾病。

【输入输出样例1】

 Input

5
11111

 Output

1

【样例1解释】

  假设只有中间的奶牛最初被感染。那么,奶牛们将按以下顺序被感染:
  第 0 晚:00100(第三只奶牛一开始被感染)
  第 1 晚:01110(第二和第四只奶牛现在被感染了)
  第 2 晚:11111(第一和第五只奶牛现在被感染了)
  第 3 晚:11111(所有的奶牛都已经被感染了,没有新的奶牛被感染)
  ……
  经过两个或更多的晚上,奶牛们的状态即与输入的状态相符。还有许多其他的初始状态和夜晚数量可能导致了输入的状态,例如:
  第 0 晚:10001
  第 1 晚:11011
  第 2 晚:11111
  或者:
  第 0 晚:01001
  第 1 晚:11111
  或者:
  第 0 晚:01000
  第 1 晚:11100
  第 2 晚:11110
  第 3 晚:11111
  所有这些初始状态中至少有一头奶牛被感染。

【输入输出样例2】

 Input

6
011101

 Output

4

【样例2解释】

  唯一可能导致这个最终状态的初始状态和夜晚数是:没有经过任何夜晚,输入中的四头感染的奶牛都是从最开始就感染了这种疾病。

【测试点性质】

  测试点 \(3−7\) 满足 \(N≤1000\)。
  测试点 \(8−12\) 没有额外限制。

【来源】

  Mr.he

信息

ID
2918
难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者