给定一个长度为 n 的序列 x 和一个初始位置 a=p,每次操作可将 a 移至任意位置,而第 j 次操作花费为 w_{i,j}+2 \times (L-(x_a \operatorname{and} x_i))。L 为序列 x 的最大值,目标是求出第 k 次操作结束时,将 a 转移到每个位置 i 的最小总花费。
考虑 dp 做法。定义 dp_{i,j} 为 j 次操作后 a 位于位置 i 的最小总花费。因为在 j 次操作时可以从任意位置 v 移到 u,所以令 w_{i,j} 为第 j 次操作转移到 u 的花费,推出动态转移方程: