题目大意
给定一个长度为 n 的01序列,初始所有元素都是0。现在给定
每次从这些区间中选择一个,将其元素翻转。重复多次。
问最多能构造出几种不同的序列。
Data Constraint
n,m≤100000
题解
一个显然的结论:每次操作完的数列最后一定是 000...111...000...111... 这种形式的,即一段连续的0,再一段连续的1,再一段连续的0…以此类推。我们把每一个01交界的位置成为关键位置,那么最终的一个数列必然可以由它的关键位置表示,即关键位置集合一样的数列是同一个数列。现在问题变为所有可能的关键位置集合的种类数。
现在假设我们有5个区间 [3,5),[2,4),[2,8),[4,8),[2,13) 假设现在选择 [2,4),[4,8),[3,5) ,那么最终的序列是