[TJOI2007] 路标设置

news/2024/11/15 13:44:45/文章来源:https://www.cnblogs.com/gailixia/p/18547803

[[TJOI2007] 路标设置(https://www.luogu.com.cn/problem/P3853)

题目

B 市和 T 市之间有一条长长的高速公路,公路上相邻路标的最大距离定义为该公路的“空旷指数”。现在公路上增设一些路标,使得公路的“空旷指数”最小。请设计一个程序计算能达到的最小值是多少。请注意,公路的起点和终点保证已设有路标,公路的长度为整数,并且原有路标和新设路标都必须距起点整数个单位距离

输入格式

\(1\) 行包括三个数 \(L,N,K\),分别表示公路的长度,原有路标的数量,以及最多可增设的路标数量

\(2\) 行包括递增排列的 \(N\) 个整数,分别表示原有的 \(N\) 个路标的位置。路标的位置用距起点的距离表示,且一定位于区间 \([0,L]\)

输出格式

输出 \(1\) 行,包含一个整数,表示增设路标后能达到的最小“空旷指数”值

样例输入

101 2 1
0 101

样例输出

51

提示

公路原来只在起点和终点处有两个路标,现在允许新增一个路标,应该把新路标设在距起点 \(50\)\(51\) 个单位距离处,这样能达到最小的空旷指数 \(51\)

\(50\%\) 的数据中,\(2 \leq N \leq 100\)\(0 \leq K \leq 100\)

\(100\%\) 的数据中,\(2 \leq N \leq 100000\), \(0 \leq K \leq100000\)

\(100\%\) 的数据中,\(0 < L \leq 10000000\)

[!TIP]

这次知道什么叫hack了,Subtask #1RE或WA了几次

思路:二分答案 模板:最大值最小(本题)

#include<bits/stdc++.h>
using namespace std;int main() 
{int l, n, k;scanf("%d %d %d", &l, &n, &k);int a[100005];// vector<int> a(n);(动态数组部分数据会RE)for (int i = 1; i <= n; i++){scanf("%d", &a[i]);}int r = 0;while (r < l) {int mid = (r + l) >> 1;if (mid == 0){  // 处理mid为0的情况(不加Subtask #1会RE)r = 1;continue;}int baka = 0;for (int i = 1; i < n; i++) {baka += (a[i + 1] - a[i] - 1) / mid;}if (baka <= k) {l = mid;} else {r = mid + 1;}}printf("%d\n", r);return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834009.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TBM810-ASEMI贴片桥堆8A 1000V

TBM810-ASEMI贴片桥堆8A 1000V编辑:ll TBM810-ASEMI贴片桥堆8A 1000V 型号:TBM810 品牌:ASEMI 封装:TBM-4 特性:贴片桥堆 正向电流:8A 反向耐压:1000V 恢复时间:>2000ns 引脚数量:4 芯片个数:4 芯片尺寸:50MIL 浪涌电流:50A 漏电流:>10uA 工作温度:-55℃~150…

Python开发环境搭建(PyCharm+Anaconda+Git+Gitee)

一、Anaconda介绍 1.1 为什么选择Anaconda? Anaconda是一个开源的Python发行版本,主要用于数据科学和机器学习,它包含了Python、conda以及众多工具和库,让我们可以轻松的构建和管理python虚拟环境,方便的进行python项目开发。下面是选择Anaconda的理由:安装简单方便 便捷…

Visual Studio 快速分析 .NET Dump 文件

前言 在开发和维护 .NET 应用程序的过程中,有时会遇到难以捉摸的性能瓶颈或内存泄漏等问题。这些问题往往发生在生产环境中,难以复现。为了更准确地诊断这些运行时问题,通常会收集应用程序在生产环境中的内存转储文件(.dump 文件)。在这种情况下,分析内存转储文件(.dump…

使用model-viewer加载glb文件

实现效果代码 react项目引入方式可选其一1.在html中引入 <script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>npm 或者 yarn安装yarn add @google/model-viewerindex.jsimport React, { …

关于定时器周期、频率等相关计算

1、定时器作为计数器,时钟频率计算如下图: 2、定时器产生一次更新中断时间计算,如下: 当定时器设置为边沿对齐模式和向上计数模式时,定时器计数到重装载值(arr)产生一次中断,产生一次中断的时间为: 其中:T为定时器周期,也为此处产生一次中断的时间;arr为重装载值…

useCallback 和 useMemo 使用场景

一切为了性能,无论是 useCallback 还是 useMemo 还是 memo,都是为了让不该渲染的组件不去渲染 在学习 useCallback、useMemo 之前,我们需要知道一点,React 的渲染是自顶而下,如果父组件渲染了,那么子组件也会渲染,其子孙组件“世世代代”都要渲染 但如果父组件的渲染与子…

[LeetCode 最大岛屿面积

### DFS解法``` python class Solution:dir = [(-1,0),(1,0),(0,-1),(0,1)]def dfs(self,grid,x,DFS解法 class Solution:dir = [(-1,0),(1,0),(0,-1),(0,1)]def dfs(self,grid,x,y):if x < 0 or x >= len(grid) or y < 0 or y >= len(grid[0]) or grid[x][y] != 1…

【Ubuntu】在Ubuntu上安装微信

【Ubuntu】在Ubuntu上安装微信 零、说明 微信官网最近发布了Linux的测试版本,实际使用下来与Windows版本相差不多,本文介绍如何在Ubuntu(Debian系)上安装Linux版本的微信。 壹、下载 打开Linux微信官网:https://linux.weixin.qq.com/,根据自己的处理器架构选择对应的deb格…

文件共享服务之NFS挂载实验

任务需求 1.部署一台web服务器,提供静态网页的展示,该网站的html等静态资源远程存储在NFS服务器。 2.部署NFS服务器,创建共享文件夹(提供静态文件),发布该共享目录,提供给web服务器使用。 主机列表 # 外网地址 内网地址 主机名 192.168.122.207…

第 5 篇 Scrum 冲刺博客

团队作业4——第 5 篇 Scrum 冲刺博客 作业要求这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13234这个作业的目标 团队集体协作完成项目开发队名 雄狮般的男人站立式…

Sitecore debug 工具

由于 Sitecore 的调试需要老是通过 log 来分析,而每次更新 dll 都需要等待一定的时间和重复执行前端的操作逻辑,特开发一个在线编辑器的方式来方便调试。警告:请勿在生产环境使用。截图构建项目 打开 Frontend,使用 pnpm i 安装依赖包,然后 pnpm build:vite 构建项目,之后…

如何禁止 SQL Server 中的 xp_cmdshell 以提高安全性

概述 在 SQL Server 中,xp_cmdshell 是一个强大的功能,它允许执行操作系统级别的命令。然而,这也带来了潜在的安全风险。本文将详细介绍如何禁止 xp_cmdshell,以增强 SQL Server 的安全性。 禁止 xp_cmdshell 的步骤 步骤 1:检查 xp_cmdshell 的当前状态 在开始禁止 xp_cm…