ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

Educational DP Contest / DP まとめコンテスト R - Walk

問題
提出コード

解法

与えられた入力をN \times Nの行列とみなし、これをK乗すれば、その行列の値の総和が、長さKのパスの総数になります。
あとは、バイナリ法なるものを利用して高速に計算することができれば、答えとなります。

冪乗 - Wikipedia

感想

この計算をする問題はたまに見ますが、いつもささっと実装ができなくてどこかでバグらせます。
思考の流れですが、この手の問題は反射的にこれだ、となってしまうのであんまり過程がありません…個人的には知識として位置付けてもいいのかなと思っています(DPといえばDPなのですが、あんまりDPっぽくない気がしています)。