dp
KageMushaHRo
懒 狗
展开
-
洛谷P1004 方格取数
洛谷P1004 一道显而易见的dp题,因为要走两次,相当于两个人一起从起点出发,所以可采取四维数组存储,前两维记录第一个人,后两维记录第二个人。 转移方程: dp[i][j][k][m] = max(dp[i - 1][j][k - 1][m], max(dp[i - 1][j][k][m - 1], max(dp[i][j - 1][k - 1][m], dp[i][j - 1][k][m - 1]))); 看着挺长的,其实并不难理解,一个人有两种走路状态,两个人就有四种。 注意一点: 当i == k &原创 2020-05-19 12:38:54 · 156 阅读 · 0 评论 -
洛谷P1002 过河卒
洛谷P1002 一道入门dp题 第一次看到这种题,可能第一时间想到的就是搜索,发现只能过几个点,然后想到既然题中提到了求路径条数,且数据将会很大,所以自然应想到dp才是正解。 dp策略: 1.记当卒走到地图上(i,j)点时,路径条数为f[i][j] 2.因为卒只能往下或者往右走,不难得出转移方程: f[i][j] = max(f[i][j],f[i-1][j] + f[i][j-1]) 3.用两次for循环遍历途中每个点,更新f[i][原创 2020-05-19 12:24:18 · 214 阅读 · 0 评论