一个最朴素的方法:枚举每个区间(C(n,2)个 ),计算区间中极长段的个数。 时间复杂度O(n2) , n=2×105 , n2=4×1010>108 , 超时。
考虑原串其中的某一个极长段对总体答案的贡献:
小蓝有一个由 0 和 1 组成的序列。定义一个序列的“段数”为序列中极大连续相同元素的段个数。例如序列 0011 由 00 和 11 两段组成,其段数为 2。
请你计算该序列所有非空子段的段数之和。
序列的长度 n 满足 1≤n≤2×105,序列中的每个元素均为 0 或 1。
第一行包含一个整数 n,表示序列的长度。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.