ZOJ 3469 Food Delivery

来源:互联网 发布:淘宝设计团队 编辑:程序博客网 时间:2024/06/06 01:49

     题意是快递小哥在n个点来回送东西,送到点x[i]时花的时间*b[i] 是其的不满意度,求的是不满意度的加和。

     开始没什么思路,贪心普通dp啥的随便想了想都没找出一个正确的解决方法,后来好好想了一下发现把n个点想象成一堆区间,到每个点一定是来回由靠近原点的点深入到远离原点的点,于是可以开数组dp[i][j][1] 表示i-j区间最后停留在j点的花费,dp[i][j][0]表示最后停留在i点的花费。这道题能用dp解是因为dp[i][j][1]和dp[i][j][0]的值是已经遍历这个区间的点得出的最优解,所以可以进行子区间往外的递推。

原创粉丝点击