博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5303 Delicious Apples (2015多校第二场 贪心 + 枚举)
阅读量:5838 次
发布时间:2019-06-18

本文共 1835 字,大约阅读时间需要 6 分钟。

Delicious Apples

Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 321    Accepted Submission(s): 95


Problem Description
There are 
 apple trees planted along a cyclic road, which is 
 metres long. Your storehouse is built at position 
 on that cyclic road.
The 
th tree is planted at position 
, clockwise from position 
. There are 
 delicious apple(s) on the 
th tree.
You only have a basket which can contain at most 
 apple(s). You are to start from your storehouse, pick all the apples and carry them back to your storehouse using your basket. What is your minimum distance travelled?
There are less than 20 huge testcases, and less than 500 small testcases.
 

Input
First line: 
, the number of testcases.
Then 
 testcases follow. In each testcase:
First line contains three integers, 
.
Next 
 lines, each line contains 
.
 

Output
Output total distance in a line for each testcase.
 

Sample Input
 
2 10 3 2 2 2 8 2 5 1 10 4 1 2 2 8 2 5 1 0 10000
 

Sample Output
 
18 26
 
解题思路:
注意到,最多仅仅有一次会绕整个圈走一次。因此,先贪心的处理左半环和右半环。然后枚举绕整圈的时候从左側摘得苹果和从右側摘得苹果的数目。
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long longusing namespace std;const int MAXN = 100000 + 10;int L, N, K;LL x[MAXN];LL ld[MAXN], rd[MAXN];vector
l, r;int main(){ int T; scanf("%d", &T); while(T--) { scanf("%d%d%d", &L, &N, &K); l.clear(); r.clear(); int pos, num, m = 0; for(int i=1;i<=N;i++) { scanf("%d%d", &pos, &num); for(int i=1;i<=num;i++) x[++m] = (LL)pos; } for(int i=1;i<=m;i++) { if(2 * x[i] < L) l.push_back(x[i]); else r.push_back(L - x[i]); } sort(l.begin(), l.end()); sort(r.begin(), r.end()); int lsz = l.size(), rsz = r.size(); memset(ld, 0, sizeof(ld)); memset(rd, 0, sizeof(rd)); for(int i=0;i

转载地址:http://myjcx.baihongyu.com/

你可能感兴趣的文章
在51CTO三年年+了,你也来晒晒
查看>>
js控制图片等比例缩放
查看>>
Java高级开发工程师面试考纲
查看>>
FreeMarker表达式
查看>>
No module named 'apt_pkg' 出错
查看>>
Debian9.2 下使用vnstat查看服务器带宽流量统计
查看>>
NGINX + PHP-FPM 502
查看>>
Windows Server 2012 之DHCP服务器的备份,还原及转移
查看>>
计算类路径,计算Servlet上下文路径
查看>>
mysql数据备份与恢复
查看>>
WPF之DataGrid应用
查看>>
Openstack API常用命令
查看>>
OpenSSL漏洞凶猛来袭 慧眼恶意代码监测应对有方
查看>>
C语言 喝汽水问题
查看>>
LINUX中搭建DNS服务器,实现正向、反向以及访问不同DNS解析
查看>>
SCCM2012 R2实战系列之十:解决WDS服务无法启动问题(错误1067:进程意外终止)...
查看>>
怎么防止重复发送Ajax
查看>>
ubuntu 下安装 mysql
查看>>
Python json.dumps 中文乱码解决
查看>>
HTM5基础系列(一)---简介与HTML4与HTML5的区别
查看>>