#loj2452. 「POI2010」反对称 Antisymmetry

    ID: 3749 传统题 1000ms 32MiB 尝试: 4 已通过: 3 难度: 10 上传者: 标签>POI2010二分哈希 hashingManacher 算法提高+/省选−

「POI2010」反对称 Antisymmetry

[AdditionalFile2452.zip](file://AdditionalFile2452.zip?type=additional_file)

#2452. 「POI2010」反对称 Antisymmetry

标签: 传统 | 时间限制: 1000 ms | 内存限制: 32 MiB |

题目描述

译自 POI 2010 Stage 2. Day 0「Antisymmetry

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

输入格式

第一行一个正整数 nn
第二行一个长度为 nn0/10/1 字符串。

输出格式

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

样例

输入

8
11001011

输出

7

数据范围与提示

对于 100%100\% 的数据, 1n500 0001\le n\le 500\ 000

Translated by vincent163