当前位置: 首页 > news >正文

题解:洛谷 P3853 [TJOI2007] 路标设置

【题目来源】

洛谷:[P3853 TJOI2007] 路标设置 - 洛谷

【题目描述】

现在政府决定在公路上增设一些路标,使得公路的“空旷指数”最小。他们请求你设计一个程序计算能达到的最小值是多少。请注意,公路的起点和终点保证已设有路标,公路的长度为整数,并且原有路标和新设路标都必须距起点整数个单位距离。

【输入】

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

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

【输出】

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

【输入样例】

101 2 1
0 101

【输出样例】

51

【解题思路】

image

【算法标签】

《洛谷 P3853 路标设置》 #模拟# #搜索# #二分# #各省省选# #天津# #2007#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 全局变量:
// length: 道路总长度
// n: 已有石头数量
// k: 可以移除的石头数量
// a[100005]: 存储相邻石头间的距离
// last: 记录前一个石头位置
// now: 当前石头位置
// l, r: 二分查找的左右边界
int length, n, k, a[100005], last, now, l, r;int main()
{// 输入道路总长度、已有石头数量和可移除石头数量cin >> length >> n >> k;last = 0;  // 初始化前一个石头位置为起点0// 计算相邻石头间的距离for (int i = 0; i < n; i++){cin >> now;a[i] = now - last;  // 计算当前石头与前一个石头的距离last = now;         // 更新前一个石头位置}// 添加终点到最后一个石头的距离a[n] = length - last;// 特殊情况处理:不能移除任何石头时,直接返回道路总长度if (k == 0){cout << length;return 0;}// 初始化二分查找边界l = 1;      // 最小跳跃距离至少为1r = 1e7;    // 设置一个足够大的上界// 二分查找最小化最大跳跃距离while (l <= r){int mid = l + (r - l) / 2;  // 计算中间值,防止溢出int count = 0;              // 记录需要移除的石头数量// 计算在当前mid值下需要移除多少石头for (int i = 0; i <= n; i++){int tmp = a[i];  // 当前石头间距while (tmp > mid) // 如果间距大于mid,需要分割{count++;     // 增加移除石头计数tmp -= mid;  // 模拟移除石头后的剩余距离}}// 根据计算结果调整搜索范围if (count <= k){r = mid - 1;  // 可以尝试更小的最大跳跃距离}else{l = mid + 1;  // 需要更大的最大跳跃距离}}// 输出最终确定的最小化最大跳跃距离cout << l << endl;return 0;
}

【运行结果】

101 2 1
0 101
51
http://www.jsqmd.com/news/390099/

相关文章:

  • 静态无功补偿器(SVC)仿真模型 采用静态无功补偿器(SVC)对一个500kv, 3000mv...
  • 春晚机器人与中国未来100年发展
  • Photoshop - Photoshop 工具栏(64)计数工具
  • 题解:洛谷 P3743 小鸟的设备
  • 题解:洛谷 P2678 [NOIP 2015 提高组] 跳石头
  • 构建跨行业三维空间智能治理中枢——矩阵视频融合 × 三角测量 × 数字孪生驱动全域风险前置控制
  • 论文阅读:arxiv 2025 Jailbreaking Attacks vs. Content Safety Filters: How Far Are We in the LLM Safety Ar
  • 复杂场景三维空间主动风险防控与智能调度系统——基于矩阵视频融合的空间级安全感知底座技术白皮书
  • 题解:洛谷 P1163 银行贷款
  • 题解:洛谷 P1182 数列分段 Section II
  • 正规的美团礼品卡回收平台推荐 - 京顺回收
  • 题解:洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树
  • 题解:洛谷 P2440 木材加工
  • 【LeetCode 每日一题】3314. 构造最小位运算数组 I —— (解法二) - 详解
  • 题解:洛谷 P1102 A-B 数对
  • Smoke and Mirrors inspiration
  • 这个时间序列预测模型有点意思,直接上代码更直观。咱们先看看整个模型的架构长啥样
  • 题解:洛谷 P1678 烦恼的高考志愿
  • 行业内服务好的盒马鲜生礼品卡回收平台推荐 - 京顺回收
  • 题解:洛谷 P1024 [NOIP 2001 提高组] 一元三次方程求解
  • 题解:洛谷 P2249 【深基13.例1】查找
  • 信任就是最好的协作:openclaw的系统提示词分析
  • AI大模型高薪方向揭秘:大模型时代,小白也能弯道超车?高薪收藏帖+90天转型路线图免费领!
  • 大模型国家标准落地,大模型应用指南:小白也能掌握的金融科技新趋势,收藏学习必备!
  • 阿里通义千问团队揭秘Gated Attention,让你的大模型学习效率飙升,速收藏!
  • 从DeepSeek到Seedance2.0,大模型集体爆发!国产AI突然跃迁,小白也能轻松上车收藏!
  • 2026大学生转行,推荐一个好就业的方向——人工智能大模型,开启高薪就业新赛道!
  • 【Hot100-Java便捷】:两数之和 (Two Sum) —— 从暴力枚举到哈希表的思维跃迁
  • 键盘与鼠标:人机交互的奥秘深度解析:原理、实战与踩坑记录
  • OpenClaw怎么做到不串台、能并行、还总回对群 amp;#129302;✅(含源码解析)--OpenClaw系列第1期