ABC162 D

問題文

RGB のみからなる、長さ N の文字列 S があります。

以下の 2 つの条件をともに満たす組 (i, j, k) (1i<j<kN) の数を求めてください。

  • SiSj かつ SiSk かつ SjSk である
  • jikj である

制約

  • 1N4000
  • S は RGB のみからなる、長さ N の文字列である

 

まず一つ目の条件を満たす組の数を考える。

これはSから順番を気にせずR,G,Bを一つずつ選び、左から(i,j,k)とした場合の数と等しいので(Rの数)×(Gの数)×(Bの数)と等しい。

次にj-i=k-jの点を全て調べ、一つ目の条件を満たしている組の数を引くと求めたい答えとなる。

 

ステップ1がO(N)、ステップ2がO(n^2)となり十分高速。