2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem B. Travelling Camera Problem set贪心
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贪心的更多相关文章
- 2018-2019 ICPC, NEERC, Southern Subregional Contest
目录 2018-2019 ICPC, NEERC, Southern Subregional Contest (Codeforces 1070) A.Find a Number(BFS) C.Clou ...
- Codeforces 2018-2019 ICPC, NEERC, Southern Subregional Contest
2018-2019 ICPC, NEERC, Southern Subregional Contest 闲谈: 被操哥和男神带飞的一场ACM,第一把做了这么多题,荣幸成为7题队,虽然比赛的时候频频出锅 ...
- 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 ...
- Codeforces1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)总结
第一次打ACM比赛,和yyf两个人一起搞事情 感觉被两个学长队暴打的好惨啊 然后我一直做傻子题,yyf一直在切神仙题 然后放一波题解(部分) A. Find a Number LINK 题目大意 给你 ...
- codeforce1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) 题解
秉承ACM团队合作的思想懒,这篇blog只有部分题解,剩余的请前往星感大神Star_Feel的blog食用(表示男神汉克斯更懒不屑于写我们分别代写了下...) C. Cloud Computing 扫 ...
- 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, ...
- 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...
- 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$ 思路: 定义一个二元组$< ...
- 【*2000】【2018-2019 ICPC, NEERC, Southern Subregional Contest C 】Cloud Computing
[链接] 我是链接,点我呀:) [题意] [题解] 我们可以很容易知道区间的每个位置有哪些安排可以用. 显然 我们优先用那些花费的钱比较少的租用cpu方案. 但一个方案可供租用的cpu有限. 我们可以 ...
- 2018-2019 ICPC, NEERC, Southern Subregional Contest (codeforces 1070)
A. 直接从状态(0,0)bfs, 这样一定是最小的 #include <iostream> #include <sstream> #include <algorithm ...
随机推荐
- Spring RedisTemplate操作-ZSet操作(6)
@Autowired @Resource(name="redisTemplate") private RedisTemplate<String, String> rt; ...
- 浅谈 JSON 那些被转义的字符们
其实,之前我一直以为 JSON 会把 ASCII 可显示字符以外的统统转义为 Unicode,直到有一次我用 JSON.stringify 才发现,其实是 PHP 为我们想的太周到了. 我以前是一位 ...
- Android手机间无线互传功能探索及实现
年前研究了一下Android如何实现无线互传的功能,写了个小demo,最近无事,遂整理一下,与各位共享.前期调研发现,Android想要实现无线互传有以下几种技术:1,Bluetooth通行已久,简单 ...
- html中的body和head有什么区别??
我的html文件如下: <html> <title>这是我的测试</title> <head> my test </head> <bo ...
- python selenium - web自动化环境搭建
前提: 安装python环境. 参考另一篇博文:https://www.cnblogs.com/Simple-Small/p/9179061.html web自动化:实现代码驱动浏览器进行点点点的操作 ...
- linux中使用corntab和shell脚本自动备份nginx日志,按天备份
编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblo ...
- order by 字段自动填写脚本
新版 firefox 中的 hackbar 没有 order by 字段填写, 所以就有了这个: =begin pod sql注入中自动输出order by 的位数 =end pod sub MAIN ...
- Linux 抽象网络设备简介
Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来 ...
- android上使用蓝牙设备进行语音输入
主要实现步骤如下:1.确保已经和蓝牙耳机配对连接上.2.开启蓝牙信道AudioManager mAudioManager = (AudioManager)getSystemService(Contex ...
- java 接口与工厂
接口时实现多重继承的途径,而生产遵循某个接口的对象的典型方式就是工厂方法设计模式,这与直接调用构造器不同,我们在工厂对象上调用的是某种方法,而该工厂对象将生成接口的某个实现的对象,理论上通过这种方式, ...