摘要: 原题传送:http://poj.org/problem?id=1160 动态规划。 用dp[i][j]记录把前i个邮局建到前j个村庄中的最优解,用cost[i][j]记录所有在i到j村庄中,建1个邮局的最小代价。显然邮局应该设到中点。让前i个邮局覆盖前j个村庄,第i+1个邮局覆盖第j+1至j+k个村庄(j+k<=n),则状态转移方程为dp[i+1][j+k]=min{dp[i][j]+cost[j+1][j+k];}(k+j<=n) cost数组存放从i到j中有一个邮局的最小代价,显然该邮局应该放在中间。 dp[i][j]表示前i个邮局覆盖前j个村庄的最小代价,对于i=1来说,dp 阅读全文
posted @ 2012-09-10 12:40 芒果布丁 阅读(272) 评论(0) 推荐(0)