9.7途虎养车第三题求问一下解法
刷题太少了不知道该怎么做,回溯最后差一点
全部评论
上面写漏了些东西,for循环里面是这样sum=min( sum, dfs(i,t,k)+cost[i][t] );思路就是:当涂到第i辆车时,有j种颜色,那么最小花费就是dfs(i,j,k);
典型的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;
}
二维dp?每列三个元素维护以三种结尾的最小值
经典的动态规划
看着像状态dp
相关推荐
07-11 15:12
门头沟学院 Java 程序员小白条:实习就是摸鱼,只是公司指标,把你进来了,可能那时候客户很多,但等你进来的时候,已经是淡季了,根本没多少需求,或者说根本不适合实习生去完成,因此你就每天干坐着就行,可能1,2个月都没需求
点赞 评论 收藏
分享