Problem B. Travelling Camera Problem

题目连接:

http://www.codeforces.com/gym/100253

Description

Programming competitions become very popular in Berland. Now Berland Broadcasting Corporation

(BBC) plans to organize a TV broadcast of the All-Berland Regional Contest. The contest will be in a

narrow hall stretched from the left to the right. BBC puts a long straight rail with a camera on it along

the hall. The rail starts from the left wall and goes along the hall to the right wall.

Not every position of the camera on the rail is suitable for shooting. The cameraman has chosen m

shooting positions on the rail: c1, c2, . . . , cm, where ci

is the distance (in meters) from the i-th position to

the left wall. Initially the camera will be at the position c1.

The reporter has prepared the plan showing how she will move tomorrow. She will move only along a

line parallel to the rail on the distance 1 meter from the rail. So each her position is dened by a single

number x the distance (in meters) from the left wall.

The coverage will consist of n scenes. The rst scene will be at the position x1, so the reporter will start

the live coverage there. The second scene will be at the position x2, so she will move from x1 to x2 between

the scenes. The third scene will be at the position x3 and so on. In total the reporter will successively

visit n positions x1, x2, . . . , xn, the j-th scene will be at xj .

For sure it is a bad idea to shoot the reporter if she is too far from the camera. It should be at most r

meters to the reporter at the moments of scenes.

Write a program to nd the minimum total distance the camera will move tomorrow. You may assume

that both the camera and the reporter move only along their lines, the maximum speed of the camera is

enough to keep up with the reporter.

Input

The rst line of the input contains three integer numbers m (2 ≤ m ≤ 3 · 105

), n (2 ≤ n ≤ 3 · 105

), r

(1 ≤ r ≤ 1000), where m is the number of positions where the camera can shoot, n is the number of

scenes and r is the maximum distance between the camera and the reporter in the moments of scenes.

The second line contains valid camera positions: m real numbers c1, c2, . . . , cm (0 ≤ ci ≤ 106

). The

numbers are given with exactly one digit after the decimal point. They are given in the strictly increasing

order (ci < ci+1 for each 1 ≤ i < m).

The third line contains positions of scenes in the chronological order: n real numbers x1, x2, . . . , xn

(0 ≤ xj ≤ 106

). The numbers are given with exactly one digit after the decimal point. These numbers are

not necessarily distinct.

It is guaranteed that it is possible to nd at least one valid camera position for each scene

Output

Print a single real number with at least one digit after the decimal point the minimum total distance

the camera needs to move to shoot all the scenes.

Sample Input

4 3 4

10.0 20.0 30.0 40.0

31.0 41.0 20.0

Sample Output

50.0

Hint

题意

给你摄像头的坐标,给你人依次所在的位置,你摄像头能够照到这个人的条件是,你们俩的坐标距离相差小于等于k

问你摄像头最少走多少米

题解:

对于每个人,可以划分出一个区间来,然后贪心的走最少的路程到达这个区间就好了。

代码

#include<bits/stdc++.h>
using namespace std; int n,m;
double k;
set<double>S;
int main()
{
scanf("%d%d%lf",&n,&m,&k);
double now;
for(int i=1;i<=n;i++)
{
double x;
cin>>x;
if(i==1)now=x;
S.insert(x);
}
double ans = 0;
double len = sqrt(k*k-1);
for(int i=1;i<=m;i++)
{
double x;
cin>>x;
if(x+len>=now&&x-len<=now)continue;
double L = *S.lower_bound(x-len);
double R = *--S.upper_bound(x+len);
if(abs(L-now)<abs(R-now))
{
ans+=abs(L-now);
now=L;
}
else
{
ans+=abs(R-now);
now=R;
}
}
printf("%.12f\n",ans);
}

2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem B. Travelling Camera Problem set贪心的更多相关文章

  1. 2018-2019 ICPC, NEERC, Southern Subregional Contest

    目录 2018-2019 ICPC, NEERC, Southern Subregional Contest (Codeforces 1070) A.Find a Number(BFS) C.Clou ...

  2. Codeforces 2018-2019 ICPC, NEERC, Southern Subregional Contest

    2018-2019 ICPC, NEERC, Southern Subregional Contest 闲谈: 被操哥和男神带飞的一场ACM,第一把做了这么多题,荣幸成为7题队,虽然比赛的时候频频出锅 ...

  3. 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror) Solution

    从这里开始 题目列表 瞎扯 Problem A Find a Number Problem B Berkomnadzor Problem C Cloud Computing Problem D Gar ...

  4. Codeforces1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)总结

    第一次打ACM比赛,和yyf两个人一起搞事情 感觉被两个学长队暴打的好惨啊 然后我一直做傻子题,yyf一直在切神仙题 然后放一波题解(部分) A. Find a Number LINK 题目大意 给你 ...

  5. codeforce1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) 题解

    秉承ACM团队合作的思想懒,这篇blog只有部分题解,剩余的请前往星感大神Star_Feel的blog食用(表示男神汉克斯更懒不屑于写我们分别代写了下...) C. Cloud Computing 扫 ...

  6. 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    A. Find a Number 找到一个树,可以被d整除,且数字和为s 记忆化搜索 static class S{ int mod,s; String str; public S(int mod, ...

  7. 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)

    i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...

  8. 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) Solution

    A. Find a Number Solved By 2017212212083 题意:$找一个最小的n使得n % d == 0 并且 n 的每一位数字加起来之和为s$ 思路: 定义一个二元组$< ...

  9. 【*2000】【2018-2019 ICPC, NEERC, Southern Subregional Contest C 】Cloud Computing

    [链接] 我是链接,点我呀:) [题意] [题解] 我们可以很容易知道区间的每个位置有哪些安排可以用. 显然 我们优先用那些花费的钱比较少的租用cpu方案. 但一个方案可供租用的cpu有限. 我们可以 ...

  10. 2018-2019 ICPC, NEERC, Southern Subregional Contest (codeforces 1070)

    A. 直接从状态(0,0)bfs, 这样一定是最小的 #include <iostream> #include <sstream> #include <algorithm ...

随机推荐

  1. postman断言的几种方式(二)

    1.检查响应体是否包含字符串 pm.test("Body matches string", function () { pm.expect(pm.response.text()). ...

  2. Comparable和Comparator的区别&Collections.sort的两种用法

    在Java集合的学习中,我们明白了: 看到tree,可以按顺序进行排列,就要想到两个接口.Comparable(集合中元素实现这个接口,元素自身具备可比性),Comparator(比较器,传入容器构造 ...

  3. word技巧

    1.插入注解(脚注和尾注) 2.复制的图片显示不全怎么办? 横向显示,或者图片另存为然后保存为PPT 3.word修订标记的添加和删除(最终版) 4.word中表格样式调整 5.修改标题的样式和标题的 ...

  4. Redis知识点总结

    1.单线程 单线程模型来处理客户端的请求,对读写等事件的相应是通过对epoll函数的包装来做到的,Redis的实际处理速度完全依靠主线程的执行效率. Epoll是Linux内核为处理大批量文件描述符而 ...

  5. 搭建RabbitMQ集群(通用)

    RabbitMQ在Erlang node(节点)上 Erlang天生具有集群特性,非常好搭建集群,每一个节点(node)上具有一个叫erlang.Cookie的东西,也是一个标识符,可以互认. 1). ...

  6. springcloud Eureka自我保护机制

    自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行. 默认情况下,如果Eureka Serve ...

  7. LR开发接口脚本

    char token_id,tenant_id;    web_add_header("Accept","application/json");    web_ ...

  8. Dede更新提示DedeTag Engine Create File False的解决办法

    第一种情况:列表.频道.文章等命名规则未填写或填写错误 此种情况较为少见,因为初级用户一般不会去修改这些东西,情况可以大致分为: 命名规则未填写(即为空)解决方法:只需填好相应的规则即可,重新选择栏目 ...

  9. 浅谈SpringMVC

    M--模型(实体vo[视图对象]与页面对面) V--视图(JSP,,velocity,FreeMarker,html,thymeleaf) C--控制器(servlet,if语句控制M数据跳转到V进行 ...

  10. 线上SQL优化

    最近在线上发现很多性能有问题的sql,开发写sql语句的时候,没充分考虑是否用上索引了,所以这个坑得DBA来填,好了,废话不多说,把一些线上的优化经验跟大家分享. 由于是线上的表,所以就不公开具体的表 ...