Ex - Marquee Editorial by potato167


公式解説では \(f(x,y)\) を以下を満たす関数として畳み込みしていました。

  • \(x,y\) どちらかが _ なら \(f(x,y)=0\)
  • \(x=y\) なら \(f(x,y)=0\)
  • そうでないなら \(f(x,y)>0\)

このような関数で畳み込みの形にするのはめんどくさいので、以下の関数について考えます。

  • \(x,y\) どちらかが _ なら \(f(x,y)=0\)
  • \(x=y\) なら \(f(x,y)=1\)
  • そうでないなら \(f(x,y)\neq 0,1\)

これは_には \(0\) を割り当て、 その他の文字については例えば片方の文字列の a\(X\) を割り当てたらもう片方には \(X^{-1}\) を割り当てることで達成します。

数字を割り当てた後 \(1\) 回畳み込んで、和が \(P\) に含まれる_ 以外の数と一致する index の数が答えです。

通る確率は分かりません

https://atcoder.jp/contests/abc307/submissions/42931722

posted:
last update: