解法https://yukicoder.me/submissions/185696公式解説の補足として説明していきます0番目を初期状態、9番目を受理状態とする。i列目までで連結状態がjである組合せを更新することを考える。dp[i][5]となる。これを全ての状態について考えて、行列におこすと以下のソースコードのようになる。あとは、これを使って、N回dpを更新するが、愚直にやると間に合わないので、行列累乗によるDP高速化を行って、高速に目的の番目までdpを回すと答え。(行列を文字で表して、取り込むのはkmjpさんのコードを見て参考にしました。C]月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。