给$n$只老鼠坐标,$m$个洞的坐标和容量,求老鼠入洞最小位移
关键!!,考虑$x_i<x_j$,两个洞$d_i<d_j$
- 假设洞都在左右两侧,选洞随意。
- 假设洞都在中间,显然选$x_i\rightarrow d_i$,$x_j\rightarrow d_j$
- 假设一个洞都在中间,一个洞再另一侧,显然选$x_i\rightarrow d_i$,$x_j\rightarrow d_j$
综上坐标小的选择的洞坐标$\leq$坐标大的选择的洞坐标
两个排序后,就可以设状态$dp[i][j]$,前$i$个洞里放了$j$个老鼠。
$sum(i,k,j)$表示$\sum_{t=k+1}^j abs(x[t]-d[i])$
括号内单调队列优化即可,注意边界即可。
代码
1 |
|