https://atcoder.jp/contests/abc372/tasks
trivalな問題は飛ばします。
$3^{0}$ から $3^{10}$ までの数値を配列で持っておいて大きい順に $M$ から引いていくだけ。
問題文が少しだけ読み取りづらいのと $x^0 =1(x\in \mathbb{R})$ であることに注意が必要。
提出
https://atcoder.jp/contests/abc372/submissions/58038172
簡単に思いつく方法は与えられた文字列 $S$
に対してクエリごとに毎回文字を変更して素直に ABC が出現する回数をカウントする方法がある。
これを行うと計算量が $\mathcal{O} (NQ)$ となりTLEする。
ここで $S[i]$ を変更した場合の影響範囲を考える。