E. 三元组-T4-甲

    传统题 1000ms 128MiB

三元组-T4-甲

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

字符串 S 包含 n 个字符,下标从 1 至 n,每个字符仅为 'R'、'G' 或 'B' 三者之一。

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

  1. 下标范围满足 1 ≤ x < y < z ≤ n;
  2. 三个位置的字符互不相同,即 S[x] ≠ S[y]、S[x] ≠ S[z] 且 S[y] ≠ S[z];
  3. 三个下标不构成等差数列,即 y - x ≠ z - y(等价于 2y ≠ x + z)。

输入格式

第一行包含一个整数 n(1 ≤ n ≤ 4000); 第二行包含字符串 S(长度为 n,仅由 'R'、'G'、'B' 组成)。

输出格式

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

样例输入1

4
RRGB

样例输出1

1

样例输入2

39
RBRBGRBGGBBRRGBBRRRBGGBRBGBRBGBRBBBGBBB

样例输出2

1800

样例解释1

样例输入的字符串 S 为 "RRGB",下标 1-4 对应的字符分别是:1=R、2=R、3=G、4=B。

第一步:先列出所有满足 1 ≤ x < y < z ≤ 4 的三元组,共 4 个: (1,2,3)、(1,2,4)、(1,3,4)、(2,3,4)。

第二步:逐个检查每个三元组是否满足所有三个条件:

  1. 三元组 (1,2,3):S[1]=R、S[2]=R、S[3]=G,存在相同字符,不满足条件 2,排除;
  2. 三元组 (1,2,4):S[1]=R、S[2]=R、S[4]=B,存在相同字符,不满足条件 2,排除;
  3. 三元组 (1,3,4):1<3<4(满足条件1),字符 R、G、B 互不相同(满足条件2),3-1≠4-3(满足条件3),符合所有要求;
  4. 三元组 (2,3,4):字符 R、G、B 互不相同(满足条件2),但 3-2=4-3(构成等差数列),不满足条件3,排除。

综上,只有 1 个三元组符合所有条件,因此输出结果为 1。

王老师_区赛复习3

未参加
状态
已结束
规则
OI
题目
6
开始于
2025-11-13 9:00
结束于
2025-11-13 10:18
持续时间
1.3 小时
主持人
参赛人数
5