【pdf你真可爱】

【题目分析】

  上午考试想到用二分答案做,写残了...

  设两个数列,a和b,a表示磁头,看作指针,b就是要扫描的那个序列。

  假设一个答案mid,就是a中的数字走mid步能否到达b中的数字,如果b能全部被扫描,说明这个答案是可以继续向左二分,否则就向右

  具体就分三种情况:

  1、a[i]-b[j]>mid,这种情况下怎么走都不可能把b完全覆盖(因为a和b都是递增的,前面的只要大于了,后面没有机会变小于啊),直接false

  2、a[i]>b[j],rest表示从a[i]扫到b[j]之后剩余的,rest=mid-(a[i]-b[j])

    (1)先走左边,reach=b[j]+rest

    

    (2)先走右边,reach=a[i]+rest/2;

    

  3、a[i]<=b[j],那从a[i]开始扫,最多扫到 reach=a[i]+mid

孩子们,一定要算好数据类型啊,另外那个I64d是在windows下评测,linux下用lld,难过的被卡了半小时

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
const int maxn=1e5+;
int n,m;
ll a[maxn],b[maxn];
bool check(ll mid)
{
for(ll i=,j=;i<=n;i++)
{
if(a[i]-b[j]>mid) return false;//如果从i到j的距离比假设的答案大,就返回0继续向右二分
ll reach;//reach表示走完mid步之后到达的位置
if(a[i]>b[j])
{
ll rest=mid-(a[i]-b[j]);
reach=max(b[j]+rest,a[i]+rest/);//向左边走和向右边走
}
else
reach=a[i]+mid;
while(b[j]<=reach&&j<=m) j++;
if(j>m) return true;
}
return false;
}
void solve()
{
ll l=,r=1e10,ans;
while(l<=r)
{
ll mid=(l+r)/;
if(check(mid)) r=mid-,ans=mid;
else l=mid+;
}
printf("%I64d",ans);
}
int main()
{
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%I64d",&a[i]);
for(int i=;i<=m;i++)
scanf("%I64d",&b[i]);
/*int flag=0;
if(n==m)
{
for(int i=1;i<=n;i++)
if(a[i]!=b[i])
flag=1;
}
if(flag==0&&n==m)
printf("0");
else
{*/
solve();
//}
fclose(stdin);fclose(stdout);
return ;
}

Data的更多相关文章

  1. CYQ.Data、ASP.NET Aries 百家企业使用名单

    如果您或您所在的公司正在使用此框架,请联系左侧的扣扣,告知我信息,我将为您添加链接: 以下内容为已反馈的用户,(收集始于:2016-08-08),仅展示99家: 序号 企业名称 企业网址 备注 1 山 ...

  2. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  3. CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法

    今天想使用CodeSimth生成一个sqlite数据库的模板.当添加添加数据库的时候发现: .Net Framework Data Provider 可能没有安装. 下面找到官方的文档说明: SQLi ...

  4. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  5. 快速搭建springmvc+spring data jpa工程

    一.前言 这里简单讲述一下如何快速使用springmvc和spring data jpa搭建后台开发工程,并提供了一个简单的demo作为参考. 二.创建maven工程 http://www.cnblo ...

  6. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  7. 代码的坏味道(16)——纯稚的数据类(Data Class)

    坏味道--纯稚的数据类(Data Class) 特征 纯稚的数据类(Data Class) 指的是只包含字段和访问它们的getter和setter函数的类.这些仅仅是供其他类使用的数据容器.这些类不包 ...

  8. R abalone data set

    #鲍鱼数据集aburl <- 'http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data' ab ...

  9. java.IO输入输出流:过滤流:buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...

  10. 怎样两个月完成Udacity Data Analyst Nanodegree

    在迷恋数据科学很久后,我决定要在MOOC网站上拿到一份Data Science的证书.美国三个MOOC网站,Udacity上的课程已经被分成了数个nanodegree,每个nanodegree都是目前 ...

随机推荐

  1. extjs 常见的小问题

    今天,小白就来总结下extjs的使用的时候的各种小问题或者说是小技巧.希望能够给各位刚接触extjs的朋友一点帮助. 1.当存在store的各种组件的store的autoload属性为false的时候 ...

  2. 关于.Net Remoting 和 Web Servcie的比较

    参照文献 http://www.cnblogs.com/shinehouse/articles/3001955.html http://www.cnblogs.com/paper/archive/20 ...

  3. NOIP200503采药

                          NOIP200503采药 [问题描述] 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质, ...

  4. Oracle读书笔记

    数据区(也叫数据扩展区)由一组连续的Oracle块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个断(Segment). 数据块是Oracle逻辑存储中的最小的 ...

  5. Spring注解@Scheduled定时任务

    一.首先配置applicationContext-task.xml (1)添加 xmlns:task="http://www.springframework.org/schema/task& ...

  6. Java中的线程同步机制

    一.首先为什么线程需要同步? 1.多线程安全问题的原因      A:有多线程环境      B:有共享数据      C:有多条语句操作共享数据 2. //未完待续后面会继续更新

  7. Web Token JWT

    基于Token的WEB后台认证机制 JSON Web Token in ASP.NET Web API 2 using Owin 翻译:Token Authentication in ASP.NET ...

  8. Android 标签的主题样式

    Android平台定义的主题样式: android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式 •andro ...

  9. PHP获取不了React Native Fecth参数的解决办法代码是怎样?

    fetch('https://mywebsite.com/endpoint/', { method: 'POST',headers: {'Accept': 'application/json','Co ...

  10. JavaEE基础(十一)/Eclipse介绍

    1.Java开发工具(常见开发工具介绍) A:操作系统自带的记事本软件 B:高级记事本软件 C:集成开发环境 IDE (Integrated Development Environment) D:Ec ...