AT_agc037_b.[AGC037B] RGB Balls

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 3N3N 个带颜色的球,每个球编号从 11 到 3N3N。每个球的颜色由长度为 3N3N 的字符串 SS 表示,第 ii 个球的颜色为 SiS_i,若 SiS_i 为 R 则为红色,G 为绿色,B 为蓝色。红色、绿色、蓝色的球各有 NN 个。

高桥君要将这 3N3N 个球分给 NN 个人,使得每个人都能分到一个红球、一个绿球和一个蓝球。此外,分配还需满足以下条件:

  • 对于第 jj 个人,设他拿到的球的编号按升序为 aj<bj<cja_j < b_j < c_j。
  • 使得 ∑j(cj−aj)\sum_j (c_j - a_j) 的值尽可能小。

请你计算高桥君有多少种分配球的方法。由于答案可能很大,请输出对 998244353998244353 取模的结果。若存在某个人分到的球的集合不同,则认为两种分配方法不同。

输入格式

输入通过标准输入给出,格式如下:

NN SS

输出格式

输出高桥君分配球的方法数对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    3
    RRRGGGBBB

    输出#1

    216
  • 输入#2

    5
    BBRGRRGRGGRBBGB

    输出#2

    960

说明/提示

限制条件

  • 1≤N≤1051 \leq N \leq 10^5
  • ∣S∣=3N|S| = 3N
  • SS 仅由 R、G、B 组成,且每种颜色在 SS 中各出现 NN 次

样例解释 1

例如如下分配方式可以使 ∑j(cj−aj)\sum_j (c_j-a_j) 的值最小,为 1818:

  • 第 11 个人分到编号为 1,5,91,5,9 的球。
  • 第 22 个人分到编号为 2,4,82,4,8 的球。
  • 第 33 个人分到编号为 3,6,73,6,7 的球。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页