AtCoder Beginner Contest 196 F - Substring 2
そのままSとTをコンボリューションすると下図のようになる
配列の4番目には、S[3]*T[1] + S[2]*T[2]*S[1]*T[3]
配列の5番目には、S[4]*T[1] + S[3]*T[2]*S[2]*T[3]
配列の6番目には、S[5]*T[1] + S[4]*T[2]*S[3]*T[3]
が入っている
これが仮に
配列の4番目には、S[1]*T[1] + S[2]*T[2]*S[3]*T[3]
配列の5番目には、S[2]*T[1] + S[3]*T[2]*S[4]*T[3]
配列の6番目には、S[3]*T[1] + S[4]*T[2]*S[5]*T[3]
であれば、配列の4番目にはS[1..3]とT[1..3]で両方とも1みたいな数値が入っている。
SかTのどっちかを反転する。
convolutionをとる(両方とも1みたいな数値を計算)
SとTの配列の中身をすべて反転する
convolutionをとる(両方とも0みたいな数値を計算)
で答えが出る。
解説見た 難しかった。慣れてたらいけるかも?