/ Vijos / 题库 /

交错0/1子序列

交错0/1子序列

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


【题目描述】

  给定一个长度为 \(n\) 的 0/1 序列,初始时序列中全部都是 0。
  有 \(m\) 次修改,每次修改给定一个整数 \(i(1≤i≤n)\),如果元素 \(i\) 是 0,则变为1,反之,如果是1,则变为0。
  对于一个0/1序列,若其中不存在连续的0和1,则称该序列为 0/1交错序列
  请编程输出每次修改后序列中最长的0/1交错子序列长度。

【输入格式】

  第一行有两个整数,分别表示序列的长度 \(n\) 和修改操作的次数 \(m\)。
  接下来 \(m\) 行,每行一个整数,表示本次修改的位置 \(i\)。

【输出格式】

  对于每次修改操作,输出一行一个整数,表示序列中最长的0/1交错子序列长度。

【输入输出样例】

 Input

10 8
4
6
6
7
5
9
10
6

 Output

3
5
3
3
4
6
5
3

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n,m≤2×10^5\)

【来源】

  Mr.he

信息

ID
3156
难度
9
分类
数据结构 | 线段树 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
2
上传者