Post

EDPCを解く

EDPCを解く

EDPCを解いていこう

A - Frog 1

$ \text{dp}[i] $ を足場$i$にたどり着くまでに支払うコストの総和の最小値とする。

\[\text{dp}[i] \leftarrow \min(\text{dp}[i-1]+|h_i-h_{i-1}|,\text{dp}[i-2]+|h_i-h_{i-2}| )\]

で遷移させれば良い。

B - Frog 2

Aと同様に

\[\text{dp}[i] \leftarrow \min_{1\le j\le k}(\text{dp}[i-j]+|h_i-h_{i-j}|)\]

と遷移させる。

C - Vacation

$ \text{dp}[i][j] $ を$i$日目に活動$j$を選ぶときの$i$日目までに得られる幸福度の総和の最大値とする。$i$日目に活動$j$をして得られる幸福度を$a_{ij}$として

\[\text{dp}[i][j]\leftarrow \max_{k\neq j}(dp[i-1][k]+a_{ij})\]

と遷移する。

V - Subtree

$v$を根としたときの、部分木$c$についての答えを$\text{dp}[c]$とする。$v$についての答えは、$v$の子$c$についてその頂点を黒く塗る場合$dp[c]$通り、白く塗る場合$1$通りあるから

\[\text{dp}[v]=\prod_{c\in \text{ch}_v}(\text{dp}[c]+1)\]

となる。これを全方位木DPに載せる。

This post is licensed under CC BY 4.0 by the author.