1608: 反对称 Antisymmetry

题目描述


对于一个
0/1
0/1 字符串,如果将这个字符串
0
0 和
1
1 取反后,再将整个串反过来和原串一样,就称作「反对称」字符串。比如
00001111
00001111 和
010101
010101 就是反对称的,而
1001
1001 就不是。
现在给出一个长度为
n
n 的
0/1
0/1 字符串,求它有多少个子串是反对称的,注意这里相同的子串出现在不同的位置会被重复计算。

输入


第一行一个正整数
n
n 。
第二行一个长度为
n
n 的
0/1
0/1 字符串。

输出


一行一个整数,表示原串的反对称子串个数。

样例输入


8
11001011

样例输出


7

提示


数据范围与提示
对于
100\%
100% 的数据,
1\le n\le 500\ 000
1≤n≤500 000 。
Translated by vincent163

来源/分类



请先 登录 后评论
  • 0 关注
  • 0 收藏,391 浏览
  • 轩爸 提出于 2019-08-02 22:14

相似问题