#P3619. 三元组-T4-甲

    ID: 4903 传统题 1000ms 128MiB 尝试: 3 已通过: 3 难度: 2 上传者: 标签>字符串其他数学南海区镇赛桂城小学2022A前缀和下标计数分支结构

三元组-T4-甲

题目描述

字符串 SS 包含 nn 个字符,下标从 11nn,每个字符仅为 'R''G''B' 三者之一。

请计算满足以下三个条件的不同下标三元组 (x,y,z)(x, y, z) 的数量:

  1. 下标范围满足 1x<y<zn1 \le x < y < z \le n
  2. 三个位置的字符互不相同,即 S[x]S[y]S[x] \neq S[y]S[x]S[z]S[x] \neq S[z]S[y]S[z]S[y] \neq S[z]
  3. 三个下标不构成等差数列,即 yxzyy - x \neq z - y(等价于 2yx+z2y \neq x + z)。

输入格式

第一行包含一个整数 nn
第二行包含字符串 SS,长度为 nn,仅由 'R''G''B' 组成。

输出格式

输出一个整数,代表满足所有条件的三元组数量。

样例

4
RRGB
1
39
RBRBGRBGGBBRRGBBRRRBGGBRBGBRBGRBBBBGBBB
1800

样例解释 1
字符串 SSRRGB,下标 141 \sim 4 对应的字符分别是:1=R1=R2=R2=R3=G3=G4=B4=B

所有满足 1x<y<z41 \le x < y < z \le 4 的三元组共 44 个:(1,2,3)(1,2,3)(1,2,4)(1,2,4)(1,3,4)(1,3,4)(2,3,4)(2,3,4)

逐个检查:

  1. (1,2,3)(1,2,3):字符 R,R,GR, R, G,存在相同字符,不满足条件 2,排除;
  2. (1,2,4)(1,2,4):字符 R,R,BR, R, B,存在相同字符,不满足条件 2,排除;
  3. (1,3,4)(1,3,4):字符 R,G,BR, G, B 互不相同,且 31=243=13-1=2 \neq 4-3=1,满足所有条件;
  4. (2,3,4)(2,3,4):字符 R,G,BR, G, B 互不相同,但 32=43=13-2=4-3=1,构成等差数列,不满足条件 3,排除。

符合条件的只有 11 个三元组,因此输出 11

数据范围

  • 1n40001 \le n \le 4000