yukicoder - No.1045 直方体大学

問題リンク

 N \leq 16という制約からいかにもbitDPをしたくなる。

直方体はよくみると3面しかないので、次のようにDPを定義しよう!

 dp[S][pre][i] = \\ Sまで使って最後がpreの直方体のi面を使ったとき、\\残りを埋めた時の最大値

あとは愚直にメモ化などで実装するといい

構造体を定義すると楽な気がする?

提出コード

yukicoder.me

まとめ

慣れているとやるだけなんだけど、ちょっと面倒かな