#P12346. [蓝桥杯 2025 省 A 第二场] 基因配对

[蓝桥杯 2025 省 A 第二场] 基因配对

题目描述

小蓝发现了一种奇特的生物,它的遗传信息可以表示为一个长度为 nn0101s=s0s1sn1s = s_0s_1 \cdots s_{n-1},其中的任意一段子串 sl,r=slsl+1srs_{l, r} = s_l s_{l+1} \cdots s_r 则可以构成一个基因。

我们称遗传信息的某两个位置相反,是指这两个位置上的字符不相同(即其中一个为 0,另一个为 1)。

小蓝想知道,有多少对不相交的相同长度的基因正好相反,即有多少对 [(a,b),(c,d)][(a, b), (c, d)] 满足 0ab<cd<n0 \leq a \leq b < c \leq d < n 且子串 sa,bs_{a, b} 和子串 sc,ds_{c, d} 的每个位置恰好相反。

输入格式

输入一行包含一个长度为 nn0101ss

输出格式

输出一行包含一个整数表示答案。

10011
8

提示

样例说明

有以下 88 对子串满足条件:[(0,0),(1,1)][(0,0),(1,1)][(0,0),(2,2)][(0,0),(2,2)][(1,1),(3,3)][(1,1),(3,3)][(1,1),(4,4)][(1,1),(4,4)][(2,2),(3,3)][(2,2),(3,3)][(2,2),(4,4)][(2,2),(4,4)][(0,1),(2,3)][(0,1),(2,3)][(1,2),(3,4)][(1,2),(3,4)]

评测用例规模与约定

  • 对于 30%30\% 的评测用例,1n201 \leq n \leq 20
  • 对于所有评测用例,1n10001 \leq n \leq 1000