枚举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)
最新推荐文章于 2022-04-14 14:09:14 发布