一个不错的搜索题, 一个新的思路
思路:
dfs+dp
首先使用dfs枚举行, 枚举后用dp计算.
设$d(i,j)$表示在前$i$列中选择$j$列(一定选中第$i$列), 组成的所有子矩阵中分值的最小值.
则有如下状态转移方程:
其中, 式中的$dc(j,k)$表示$j$列与$k$列所有相邻元素绝对值差之和, $h(j)$表示$j$列中所有相邻元素的绝对差之和, 这两个量很容易地被预处理出来.
代码:
1 |
|
一个不错的搜索题, 一个新的思路
dfs+dp
首先使用dfs枚举行, 枚举后用dp计算.
设$d(i,j)$表示在前$i$列中选择$j$列(一定选中第$i$列), 组成的所有子矩阵中分值的最小值.
则有如下状态转移方程:
其中, 式中的$dc(j,k)$表示$j$列与$k$列所有相邻元素绝对值差之和, $h(j)$表示$j$列中所有相邻元素的绝对差之和, 这两个量很容易地被预处理出来.
1 | #include <iostream> |