题意:有一个长度为L的环,环上一些点有苹果,每次最多能拿k个苹果,问把全部苹果都拿完所走过的最短距离。
思路:贪心加dp。
首先,如果这个环从中点处割开,那么只需要对两边进行贪心即可,现在连在一起,那么多了一种可能,即绕环一周拿苹果这种方案。
不难证明,至多只可能绕环一次,因为绕环多次可以分为对一侧拿苹果加绕一圈这种方案。
具体实现:将cnt棵苹果树分为n棵每棵上有一个苹果的苹果树,记录每...
分类:
移动开发 时间:
2015-07-25 00:17:39
阅读次数:
132
题目链接:
HDU5303
题意:
有一条环形的长为L的路,仓库在位置0处,
这条路上有n棵苹果树,给出每棵苹果树的位置和苹果数量,
问用 一次最多能装K个苹果的篮子 把这条路上所有苹果采回仓库最少需要走的距离
解题思路:
这条路是环形的,先把果树分为两部分,圆的左半边算一部分,圆的右半边算另一部分
对所有苹果根据距离排序 , 用...
分类:
移动开发 时间:
2015-07-24 22:45:31
阅读次数:
177
HDU 5303 Delicious Apples(贪心 + 背包)...
分类:
移动开发 时间:
2015-07-24 22:43:49
阅读次数:
208
题意:一个环长度为L,上面有n棵树,篮子一次可装K个苹果; 给出每棵树的位置和树上的苹果数,求将所有苹果运回原点的最少的总距离;思路:将环分为两半考虑,且若有绕环一圈的情况也只能有一次; 以单个苹果为对象进行处理; 考虑不绕圈的情况:每个半圈优先取最远的苹果;sum[i]表示取第i个...
分类:
移动开发 时间:
2015-07-24 20:15:26
阅读次数:
155
暴力枚举+DP
虽然是在环上,但最多只需要走一圈...
dp[0][i]表示从1...i从起点逆时针走取完i个的花费,有 dp[0][i]=dp[0][i-k]+dist[i]*2
dp[1][i]表示从i...n从起点顺时针走取完n-i+1个的花费 dp[1][i]=dp[1][i+k]+(L-dist[i])*2
枚举哪些点顺时针哪些点逆时针: ans=min(ans,dp[0][...
分类:
移动开发 时间:
2015-07-24 18:19:17
阅读次数:
164
枚举+DP
虽然在环上,但最多绕环走一次
dp[0][i]前i个点全部逆时针取完,dp[1][i]从i到n顺时针取完
然后枚举中间分界线,和从哪一个点开始转一圈
Delicious Apples
Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)
...
分类:
移动开发 时间:
2015-07-24 18:14:51
阅读次数:
146
Delicious Apples
Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 587 Accepted Submission(s): 188
Problem Description
There are...
分类:
移动开发 时间:
2015-07-24 16:14:31
阅读次数:
162
题意:在一个圆上有n个苹果树,告诉苹果树的位置和每棵树上的苹果个数,还有一个容量为K的篮子,用篮子去摘苹果,起点在位置0,反复去摘直到把所有的苹果都摘回到0,问走的最短距离为多少。
思路:首先将圆一分为二,在圆形两侧能拿满的话肯定就是只走半边再回去,这样比走整圈划算,另外还要想到最后两边都不足K个了,这个时候最多需要走一个整圈,我们不知道这个整圈拿了哪几个苹果,那么就枚举K个。比赛时只是想到了贪心,最后那一部分没有枚举,另外这里的苹果进行了离散化,因为苹果总数只有1e5,大大简化了代码,自己当时写的太冗余=...
分类:
移动开发 时间:
2015-07-24 12:58:11
阅读次数:
208
Delicious Apples Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5303 Mean:一条长为L的环形路上种着n棵苹果数。第i棵苹果数的位置在xi,有ai个苹果,苹果树的位置按顺时针顺序给出,且都是整数...
分类:
移动开发 时间:
2015-07-24 10:31:45
阅读次数:
180
HDU 5303 Delicious Apples (贪心 枚举 好题)...
分类:
移动开发 时间:
2015-07-24 01:33:44
阅读次数:
185