题目大意: 二维平面上有一些点, 每个点上有一个垃圾, 重量为w; 有一个机器人, 能承载的重量最多为c, 从原点出发, 要把所有的垃圾带回原点( 中途可以放一些回来 ), 每次都走曼哈顿距离, 求把所有垃圾放回原点走的最小距离. 首先看一下, 这个题目不是很好写啊. 尝试设一下状态, 设dp[ i ...
分类:
其他好文 时间:
2017-10-16 23:31:41
阅读次数:
189
虫洞 单调队列优化DP,感觉比较套路?上不去Vjudge,也懒得打就随便口胡一下。sxy大佬要是您看的我要是扯淡麻烦提醒我一下QAQ sum[i]表示从0到i依次走的距离,sg[i]表示1~i的重量和,dis[i]表示从0到i直接走的距离。f[i]=min(f[j]+sum[i]-sum[j]+di ...
分类:
其他好文 时间:
2017-09-29 21:27:16
阅读次数:
273
题意:有n个垃圾,第i个垃圾坐标为(xi,yi),重量为wi,有一个机器人,要按照编号从小到大的顺序剑气所有的垃圾兵扔进垃圾桶,垃圾桶在原点, 每次总重量不能超过C,两点间距离为曼哈顿距离,求出最短的距离和。 析:第一反应想到的状态是有个数和重量,一看,时间复杂度受不了,只能改。dp[i] 表示从原 ...
分类:
其他好文 时间:
2017-03-10 17:51:07
阅读次数:
160
Problem C - Robotruck Background This problem is about a robotic truck that distributes mail packages to several locations in a factory. The robot sit ...
分类:
其他好文 时间:
2016-04-22 22:25:55
阅读次数:
341
如果状态定义为序号和重量的话,决策就是下一个垃圾捡或者不减,但是状态数太多了。如果只定义序号作为状态的话,决策就变成从前面的某个j一直捡到i才送回垃圾。这就变成了一个区间选最小值的问题,用单调队列维护。复杂度O(n)#includeusing namespace std;const int maxn...
分类:
其他好文 时间:
2015-09-29 18:40:13
阅读次数:
169
// la 3983 Robotruck
// 题目大意:
//
// 有n个垃圾,第i个垃圾的坐标是(x,y),重量为wi,有一个机器人,要按照编号从小
// 到大的顺序捡起所有的垃圾并扔进垃圾桶(垃圾桶在原点(0,0))。机器人可以捡起几
// 个垃圾以后一起扔掉,但任何时候其手中的总重量不能超过最大载重C,两点间的距
// 离为曼哈顿距离。求机器人行走的最短距离
//
// n的范围 1 ...
分类:
其他好文 时间:
2015-06-01 09:48:25
阅读次数:
104
这道题感觉挺吃力的,还用到了我不熟悉的优先队列题目中的推导也都看明白了,总之以后还要多体会才是先把代码贴上: 1 //#define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int max...
分类:
其他好文 时间:
2014-08-24 23:32:43
阅读次数:
288
原题: UVA 1169 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3610大白书上的原题。代码:#include #include #include ...
分类:
其他好文 时间:
2014-07-07 15:09:20
阅读次数:
386