9.7途虎养车第三题求问一下解法
刷题太少了不知道该怎么做,回溯最后差一点
全部评论
看着像状态dp
经典的动态规划
二维dp?每列三个元素维护以三种结尾的最小值
典型的dp了,用记忆化搜索很快写出来
dp[][]=new [][];
int dfs( int i,int j,int k){
if( dp[i][j]!=-1) return dp[i][j];
int sum=0;
for( t -->k ){
if( t!=j) sum+=dfs(i+1,t,k)
}
dp[i][j]=sum;
return sum;
}
上面写漏了些东西,for循环里面是这样sum=min( sum, dfs(i,t,k)+cost[i][t] );思路就是:当涂到第i辆车时,有j种颜色,那么最小花费就是dfs(i,j,k);
相关推荐
10-22 12:10
仰恩大学 策略运营 点赞 评论 收藏
分享
10-29 13:56
莆田学院 产品经理 点赞 评论 收藏
分享