摘要: 题意:有n个垃圾,机器人要按照编号从小到大捡但手中的垃圾不得超过C,求出机器人行走的最短总路程。做法:设dp[i]为捡第i个垃圾的最短距离,dist[i]为按顺序的总长,dis_ori[i]为i到原点的距离。不难得出:dp[i] = min{dp[j] + dis_ori[j+1] + distance[j+1,i] + dis_ori[i] } ; w(j+1,i)<=C = min{dp[j] + dis_ori[j+1] - dist[j+1]} + dist[i] + dis_ori[i] ; w(j+1,i)<=C用单调队列可以解决min的值,复杂度O(n... 阅读全文
posted @ 2012-11-18 11:16 發_ 阅读(335) 评论(0) 推荐(0) 编辑