蓝桥杯31天真题冲刺|题解报告|第二十八天

这篇具有很好参考价值的文章主要介绍了蓝桥杯31天真题冲刺|题解报告|第二十八天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是snippet,今天是我们刷题的第二十八天,距离我们刷题活动结束也就只有几天了,最近刷题有点迷茫了,下面是我今天的题解

目录

一、路标设置

题目链接:P3853 [TJOI2007]路标设置 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目内容:

解题思路:

代码:


一、路标设置

题目链接:P3853 [TJOI2007]路标设置 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目内容:

题目背景

B 市和 T 市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题,我们把公路上相邻路标的最大距离定义为该公路的“空旷指数”。

题目描述

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

输入格式

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

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

输出格式

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

输入输出样例

输入 #1复制

101 2 1

0 101

输出 #1复制

51

说明/提示

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

50%50% 的数据中,2≤�≤1002≤N≤100,0≤�≤1000≤K≤100。

100%100% 的数据中,2≤�≤1000002≤N≤100000, 0≤�≤1000000≤K≤100000。

100%100% 的数据中,0<�≤100000000<L≤10000000。文章来源地址https://www.toymoban.com/news/detail-405398.html

解题思路:

代码:

package 蓝桥杯31天真题冲刺.Day28;

import java.io.*;

/**
 * @author snippet
 * @data 2023-03-31
 * 路标设置-洛谷
 */
// 二分
public class T1_路标设置 {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
    static int l, n, k;
    static int N = 100010;
    static int[] a = new int[N];

    public static boolean check(int x) {
        int cnt = k, pre = 0;
        for (int i = 1; i <= n; i++) {
            if (cnt < 0) return false;
            if (a[i] - pre <= x) {
                pre = a[i];
                continue;
            }
            pre += x;
            i--;
            cnt--;
        }
        return cnt >= 0;
    }

    public static void main(String[] args) throws Exception {
        String[] s = br.readLine().split(" ");
        l = Integer.parseInt(s[0]);
        n = Integer.parseInt(s[1]);
        k = Integer.parseInt(s[2]);

        s = br.readLine().split(" ");
        for (int i = 1; i <= n; i++) {
            a[i] = Integer.parseInt(s[i - 1]);
        }

        int left = 0;
        int right = 10000000;
        while (left < right) {
            int mid = left + ((right - left) >> 1);
            if (check(mid)) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        pw.println(left);
        pw.flush();
        br.close();
    }
}

到了这里,关于蓝桥杯31天真题冲刺|题解报告|第二十八天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从0开始学C++ 第二十八课 数据结构深入 - 栈和队列

    第二十八课:数据结构深入 - 栈和队列 学习目标: 理解栈(Stack)的基本概念和特性。 掌握队列(Queue)的基本概念和特性。 学会在C++中使用栈和队列。 了解栈和队列的典型应用场景。 学习内容: 栈(Stack) 概念:栈是一种后进先出(LIFO, Last In First Out)的数据结构,元素

    2024年01月23日
    浏览(45)
  • UNIX网络编程卷一 学习笔记 第二十八章 原始套接字

    原始套接字提供普通的TCP和UDP套接字不具备的以下3个能力: 1.有了原始套接字,进程可以读写ICMPv4、IGMPv4、ICMPv6等分组。例如,ping程序就使用原始套接字发送ICMP回射请求并接收ICMP回射应答。多播路由守护程序mrouted也使用原始套接字发送和接收IGMPv4分组。 这个能力还使得使

    2024年02月11日
    浏览(46)
  • 蓝桥杯刷题第二十三天

    题目描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。 这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小

    2023年04月22日
    浏览(44)
  • 蓝桥杯刷题第二十五天

    题目描述 你有一张某海域 NxN 像素的照片,\\\".\\\"表示海洋、\\\"#\\\"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中\\\"上下左右\\\"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛

    2023年04月09日
    浏览(35)
  • 【送书福利-第二十八期】《AIGC:让生成式AI成为自己的外脑》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月05日
    浏览(65)
  • 学C的第二十八天【字符串函数和内存函数的介绍(一)】

    ========================================================================= 相关代码gitee自取 :C语言学习日记: 加油努力 (gitee.com)  ========================================================================= 接上期 : 学C的第二十七天【指针的进阶(三)】_高高的胖子的博客-CSDN博客  ================================

    2024年02月16日
    浏览(41)
  • 【送书福利-第二十八期】《从概念到现实:ChatGPT和Midjourney的设计之旅》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月05日
    浏览(44)
  • 孩子都能学会的FPGA:第二十八课——用FPGA实现最近最少使用(LRU)算法

    (原创声明:该文是 作者的原创 ,面向对象是 FPGA入门者 ,后续会有进阶的高级教程。宗旨是 让每个想做FPGA的人轻松入门 , 作者不光让大家知其然,还要让大家知其所以然 !每个工程作者都搭建了全自动化的仿真环境,只需要双击 top_tb.bat 文件就可以完成整个的仿真(前

    2024年02月19日
    浏览(40)
  • JavaScript从入门到精通系列第二十八篇:详解JavaScript中的字符串的方法

      文章目录 前言 一:String中的方法 1:获取字符串的长度 2:返回指定位置的字符 3:返回指定位置的字符Unicode编码 4:返回指定位置的字符Unicode编码  二:比较常用的 1:连接两个字符串 2:检索一个字符串中指定内容  3:从后检索一个字符串中指定内容   4:截取字符串

    2024年02月06日
    浏览(52)
  • 2022 第十三届蓝桥杯大赛软件赛省赛(第二场),C/C++ 大学B组题解

    2022 第十三届蓝桥杯大赛软件赛省赛(第二场),C/C++ 大学B组题解 补题链接:地址 第1题 —— 练习 (5分) 题意:过了样例交上去0分,问可能是ABC的哪一种 显然都是,答案:ABC 第2题 —— 三角回文数 (5分) 题意:求第一个大于某2e8的数的回文数,且满足他可以等于1+2+…

    2023年04月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包