枚举k种颜色的排列顺序,然后DP。
k种颜色共有k!种排列,但用DFS求出这k!种排列需要k^k的时间,记录为order[]。
DP的过程是这样的:DP[i][j]表示在(1-j)这一段,用order[1]到order[i]的颜色表示,至少需要移除多少个石头。于是DP[i][j]=min(DP[i-1][p]+(p+1到j这一段中颜色和order[i]不一样颜色的石头))。时间效率是k*m^2。
于是总的时间效率是k^k*k*m^2
pku 2978 Colored stones(枚举+DP)
最新推荐文章于 2016-09-09 16:15:57 发布
本文介绍了一种通过枚举颜色排列结合动态规划解决多彩石头移除问题的方法。具体步骤包括生成所有可能的颜色排列顺序,使用动态规划计算每种排列下移除最少数量石头的方案,最终得出最优解。
3万+

被折叠的 条评论
为什么被折叠?



