Read Time (CodeForces - 343C,二分 + 贪心)

攻克TypeError: Cannot read properties of undefined (reading ‘NormalModule‘)的四种实战策略 本文详细解析了`TypeError: Cannot read properties of undefined (reading 'NormalModule')`错误的四种实战解决策略。从版本一致性检查、包管理器优化到依赖替换和构建环境配置,帮助开发者快速定位和解决Webpack构建过程中的常见问题,提升开发效率。 阅读详情

一.题目链接:

CodeForces-343C

二.题目大意:

有 n 个磁头,m 个需读取的位置.

给出 n 个磁头的初始位置,m 个需读取的位置.

每秒磁头可以向左或向右移动一个单位.

求最少需要多长时间 m 个位置都被读取过.

三.分析:

很容易看出要二分答案,不过 check() 不好写.

考虑一件事情,对于一个磁头来说,它需读取的位置区域在上一个磁头(左边界) 与 下一个磁头(右边界)之间.

在这里让每个读写头 访问 其左侧未访问的读取位置.

那么读取时就有两种方式.

第一种是向往左走到读取位置,再向右走到最远.

第二种是在保证之后向左能够到达读取位置的情况下,向右走到临界点,再向左走到读取位置.

详见代码.

四.代码实现:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-6
#define pi acos(-1.0)
#define ll long long int
using namespace std;
const int M = (int)1e5;
const ll mod = (ll)1e9 + 7;
const ll inf = 0x3f3f3f3f3f;

int n, m;
ll h[M + 5];
ll p[M + 5];

bool check(ll mid)
{
    int pos = 0;
    for(int i = 0; i < n; ++i)
    {
        ll x = mid;///增量
        if(h[i] >= p[pos])
        {
            if(mid >= h[i] - p[pos])
                x = max(0ll, max(mid - 2 * (h[i] - p[pos]), (mid - h[i] + p[pos]) / 2));
            else
                return 0;
        }
        pos = upper_bound(p, p + m, x + h[i]) - p;
        if(pos == m)
            return 1;
    }
    return 0;
}

/**
3 3
1 2 3
2 3 4
1
**/

int main()
{
    scanf("%d %d", &n, &m);
    for(int i = 0; i < n; ++i)
        scanf("%I64d", &h[i]);
    for(int i = 0; i < m; ++i)
        scanf("%I64d", &p[i]);
    ll l = 0;
    ll r = inf;
    while(l < r)
    {
        ll mid = (l + r) >> 1;
        if(check(mid))
            r = mid;
        else
            l = mid + 1;
    }
    printf("%I64d\n", r);
    return 0;
}

 

ENVI5.6+SARscape实战:基于哨兵一号的PS与SBAS时序InSAR地表形变监测全流程解析 本文详细解析了使用ENVI5.6和SARscape软件基于哨兵一号数据进行PS与SBAS时序InSAR地表形变监测的全流程。从数据获取、预处理到PS-InSAR和SBAS-InSAR处理,提供了实用技巧和优化建议,帮助用户高效完成地表形变监测任务。 阅读详情

相关推荐

GCJ02坐标系转WGS84坐标系(已实地测试基本无偏差)

坐标系转化,GCJ02坐标系,WGS84坐标系

Xiao_XianYu_的博客 1857

Read Time CodeForces - 343C (二分查找答案)

Mad scientist Mike does not use slow hard disks. His modification of a hard drive has not one, but n different heads that can read data in parallel.When viewed from the side, Mike's hard drive is an e...

dsaghjkye的博客 476

[小梅哥FPGA] 如何通过动态重配置实现FPGA时钟的实时频率/相位/占空比调整?

PLL和MMCM是实际存在的硬件电路,用以对输入时钟的负面变化,如抖动、频率变化、相位偏移、占空比失真等进行处理。基于该表,用户在初始化Clk_Wiz后,只需要计算好所需的频率、相位、占空比对应的设置值,使用Xil_Out32函数配置对应寄存器即可。通过上述步骤,在平时的开发调试过程中,亦或是一些对于时钟可能有着实时性要求的设计(如数据采集、图像处理)里,我们便可以在无需重新修改设计的前提下,通过AXI4总线来完成对时钟频率、相位的调控,从而达到缩短设计周期以及让设计适应更多场景的目的。

zgmxs的专栏 2495

CodeForces 343C Read Time 二分+贪心

链接题意:给出n个磁头,每个磁头在某个轨道上的某个位置,现在要读取m个位置的信息,每一单位时间,一个磁头只能变换到相邻的轨道,问最短时间。解:轨道的编号从[1,1010][1,10^{10}] ,n和m数量为10510^5。磁头相遇或者是交错没有任何意义。所以磁头的相对位置不变。对最短时间进行二分,然后贪心判断能否在规定时间内完成任务即可。对于一个磁头,尽量向右扫描更多的位置。#include<cs

便纵有千种风情 498

SAP 财务快速记账之—G/L Item Fast Entry

SAP FICO 运维解决方案

lijinbao171022的博客 1647

Simscape Multiboby学习笔记1——跟着官网学Multibody

文章目录一. 引言二. Simscape Multibody自学之路三. 本教程的目录 一. 引言 最近在倒腾Matlab的动力学仿真,起因是看到有人推荐Matlab的multbody模块,一经了解之下简直惊为天人。作为一名Matlab的小粉,看到这么好用的模块简直不要太开心,之前用simulink搭飞行器的仿真模型,虽然能够仿真看到六自由度位移,毕竟不能可视化,还是很不够直观,而且simulink仿真(以及更费力的脚本文件仿真)需要精确建模,模型不精确计算也是天差地别。而Multibody在具备其他动力学

qq_30267617的博客 8241

codeforces 343c Read Time

codeforces 343c Read time

wo_der的博客 1112

解决Cursor AI工具地域限制报错的方法与原理

地理围栏(GEO-fencing)是现代云服务常用的访问控制技术,通过IP地址库匹配、支付系统验证等方式实现区域限制。在AI编程工具领域,这种技术常导致类似Cursor出现的'unsupported country region'报错。从技术实现看,服务商会综合HTTP头信息、时区设置等多维度数据进行地理位置判断。开发者可通过调整网络出口、配置本地模型或使用企业版等方案解决。本文以Cursor为例,详细分析了AI工具地域限制的底层原理,并提供了包括Ollama本地部署在内的多种工程实践方案,特别适合需要稳定

weixin_30820077的博客 967

codeforces 343C Read Time

题解:二分答案之后贪心即可。 具体来讲,首先二分一下答案,那么问题就转化为判断这一堆指针在给定的移动距离限制下能不能读取到所有要求的格子。稍微想一下就会发现,最终一定是每个指针对应一段要求的格子,不会发生重叠。那么就只要暴力扫过去,在保证覆盖的情况下使指针尽可能扫到更右边的格子,就可以判断了。 代码如下: #include&lt;iostream&gt; #include&lt;cstdi...

temp06的博客 204

EuROC 数据集格式及相关代码

Euroc提供ROS和zip两种数据格式。

~勿据散客~的博客 2093

YOLOv11【第二章:核心模块进阶篇·第3节】LDConv线性可变形卷积改进YOLOv11!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 7441

Codeforces 343C 二分+贪心

C. Read Time time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mad scientist Mike does not use slow hard disks. His modification of ...

紫芝的博客 795

C++和OpenGL实现3D游戏编程【连载6】——不规则图形的纹理贴图(附源码)

上一节我们讨论了纹理贴图的相关基础操作,但上一节的纹理贴图操作基本上都是规则图形,包括圆形和球形虽然复杂一点,但是它也是规则的。这一节课我们要讨论一下,怎么在不规则图形上纹理贴图,就比如文章下图的心形纹理贴图,以及纹理的平移、旋转、放大缩小功能。

zhooyu的博客 1308

codeforces 343C Read Time 二分 + 贪心

http://codeforces.com/problemset/problem/343/C 题意: 有一些磁头,给出了起始的位置,给出了一些磁盘中需要访问的地点。求这些磁头移动的最小的次数。 思路: 二分找出满足要求的最小的时间,对于当前尝试的时间进行贪心判断是否可用。对于贪心,因为每一个磁头都需要读到还没有人读过的最左边的地方。如果这个都不能满足,那么这个时间是不可以的。 在这基础上,

liujc_的专栏 1107

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

B - Read Time CodeForces - 343C (二分+贪心)

B - Read Time CodeForces - 343C Mad scientist Mike does not use slow hard disks. His modification of a hard drive has not one, but n different heads that can read data in parallel. When viewed from ...

Suprit's blog 651

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CodeForces - 343C Read Time (二分+贪心)

题意:有N个指针头,M个标记,用这N个针头扫描所有的标记,针头之间互不影响,求扫描完M个标记的最短时间 分析:二分搜答案,mid为时间限制,则只要所有的点在mid秒内被扫描到即可. 对于每个指针,若其左方没有待扫描标记,则它只需一路向右即可.若有需要扫描的标记,则有两种方式可以扫描,第一是先向左扫描到该标记,再向右一直走到;或先向右走一定距離,再向左返回掃描. 初始的上界R可任取一個指針掃描所有標...

weixin_30426957的博客 112

codeforces contest 344

http://codeforces.com/contest/344 //---------------------------------------------------------------------------------------------------------------------------------------------------------

460

CodeForces - 343C 二分

题目链接 题意:给定n个可并行工作的起点的坐标,和m个终点坐标,要求用起点去碰终点,起点移动一次花费1s,问最少需要多长时间 思路:可以二分时间,记录目前最小未覆盖的点的下标,对于每个点考虑先左移动还是先右移,算出目前的起点可覆盖的最远距离后更新最小未覆盖点的下标。 注意:决策时有先往右再往左和先往左再往右两种情况如下图 #include <cstdio> #include ...

weixin_41934068的博客 234

Codeforces 344E Read Time [二分答案]【思维】

题目链接:http://codeforces.com/contest/344/problem/E——————————————–. E. Read Time time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Mad scientis

Tabris的博客 765

Number Puzzle (ZOJ - 2836 ,容斥原理)

一.题目链接: ZOJ-2836 二.题目大意: 第一行给出 n, m 第二行有 n 个数 求在不大于 M 的非负整数中,有多少个数可以被这 n 个数中的任意一个整除. 三.分析: 容斥原理模板题存一下(偷笑.jpg) 四.代码实现: #include <set> #include <map> #include <ctime> #incl...

The___Flash的博客 862

最大子矩阵(HDU - 1559,前缀和)

一.题目链接: HDU-1559 二.题目大意: 给出一个 m × n 的矩阵,和一个大小为 x × y 的子矩阵,求子矩阵的最大值为多少? 三.分析: 利用前缀和求出 顶点 到 每个点 矩阵的和,然后枚举子矩阵顶点的位置即可. 如图: 四.代码实现: #include <set> #include <map> #include <ctime&g...

The___Flash的博客 608

Plants vs. Zombies (ZOJ - 4062,二分答案 + 细节)

一.题目链接: ZOJ-4062 二.题目大意: n 个植物排成一排. 水壶只能移动 m 步. 水壶一步移动一个单位长度,所到达的位置,该植物的防御值会相应增加. 求浇水之后,所有植物防御值中最小值最大可以为多少. 三.分析: 二分答案即可. 不过要加限制条件,在 check(mid) 函数中 cnt 可能会暴 long long. 这是因为,假设n == 1e5,mid =...

The___Flash的博客 606

例题 3-4 猜数字游戏的提示(Master-Mind Hints,UVA 340)

一. 题目链接 : Master-Mind Hints UVA-340 二. 题目大意 : 多组数据,每组数据中有一个标准数字序列,之后多组数字序列,输出 A 和 B. A : 在每组数字序列中,与标准数字序列中数字且位置相同的数字个数. B :在每组数字序列中,有多少个数字在两组数字序列里都出现过,但位置不同. 三.分析 : A : A很好求,直接同时遍历 标准数字序列 和 ...

The___Flash的博客 493

Eight II (HDU - 3567,BFS 打表 + 思维)

一.题目链接: HDU-3567 二.题目大意: Eight的升级版,游戏规则相同. 每次给出两个字符串 A, B,问 从 A 到 B 的最少步数 并 打印最小字典序的路径. 三.分析: 看了大神的分析才懂。。。 在这里阐述一下. 只考虑 X 的位置,由于 1 ~ 8 数字无特殊性 所以可将所给的 A 重新编号. 例如 A1:8 7X 6 5 4 3 2 1 编号为 A...

The___Flash的博客 485

Kth Minimum Clique(2019牛客暑期多校训练营(第二场)D,K 大完全子图)

一.题目链接: Kth Minimum Clique 二.题目大意: 有 n 个点,有着各自的点权. 给出连通的边. 求权值 k 大的完全子图. 三.分析: 由于 n ≤ 1e3,所以直接暴搜即可. 这里和状压 DP 有点像,搜索的是状态以及对应的权值. 考虑状态的转移,比如在什么情况下,i 点可以加入. 因为是求完全子图,所以现状态应真包含于 i 点的连接点,否则就不是完全图...

The___Flash的博客 465

Books (ZOJ - 4067,思维 + 理解题意)

一.题目链接: ZOJ-4067 二.题目大意: DreamGrid 去买书,有 n 本书排成一行,价格记为 a[0],a[1] .... a[n - 1]. 若DreamGrid 所带的钱不少于 第 i 本书的价格,则买这本书. 最后DreamGrid 共买了 m 本书. if 不可能买了 m 本书,则输出Imp...

The___Flash的博客 462

Matrix (POJ - 3685,二分答案 + 二分)

一.题目链接: POJ-3685 二.题目大意: 给 n 和 m. 表示有一个 n × n 的矩阵,求第 m 小的元素的值. 矩阵元素的计算公式: 三.分析: 易得矩阵的元素在同一列上单增. 第一层二分答案. 因为是求第 m 小的数,所以必有 m 个数 ≤答案(数有重复). check(mid) 函数里先枚举列,对于每一列再二分有多少个数 ≤ mid即可. ps: 控制边界...

The___Flash的博客 450
上一篇: Largest Rectangle in a Histogram (POJ - 2559,单调栈入门题)
下一篇: Matrix (POJ - 3685,二分答案 + 二分)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值