G - Count Sequences Editorial by kyopro_friends


実装例(pypy)

追記:

この問題は \([x^M](x+x^2)^{N-1}(1-x)^{-2}(1-x^3)^{-(N-1)}\) を求める問題です。 主に \((1-x)^{-1}\) をどのように扱うかによって、見かけ上、及び、元の問題における解釈上、様々な解法があります。

  • \(((x+x^2)^{N-1}(1-x)^{-2})(1-x^3)^{-(N-1)}\) だと思うと上で述べた解法となります。
  • \((x+x^2)^{N-1}((1-x)^{-2}(1-x^3)^{-(N-1)})\) だと思うと maspyさんの解法になります。(カッコのくくり方は解法の本質ではありませんが)
  • \(((x+x^2)^{N-1}(1-x)^{-1})((1-x)^{-1}(1-x^3)^{-(N-1)})\) だと思うと 公式解説の解法になります。
  • \(1-x^3=(1-x)(1+x+x^2)\) を使い \(\sum_{i=0}^2 (x^i((x+x^2)^{N-1}(1-x)^{-1}))(1-x^3)^{-N}\) と変形するとbayashikoさんの解法 になります。
  • \(((x+x^2)^{N-1}(1+x+x^2)^2)(1-x^3)^{-(N+1)}\) と変形すると SSRSさんの解法 になります。これは下図のように解釈できます。

実装例(pypy)

posted:
last update: