洛谷P2678题解

news/2025/11/23 16:09:01/文章来源:https://www.cnblogs.com/yazy/p/19260754

P2678虽然是黄题,但是只要想通思路,就会变得异常简单。
以下是思路《跳石头》算法思路详解.url
image
image
image
image
image
image
image
image
100分错1个点代码:

点击查看代码
#include<bits/stdc++.h>
using namespace std;
int L,N,M,d[50005];
bool check(int x){int cnt=0,last=0;for(int i=1;i<=N;i++){if(d[i]-last<x)cnt++;else last=d[i];}if(L-last<x)return false;return cnt<=M;
}
int main(){cin>>L>>N>>M;for(int i=1;i<=N;i++)cin>>d[i];int l=1,r=L;while(l<r){int mid=(l+r+1)>>1;if(check(mid))l=mid;else r=mid-1;}cout<<l;return 0;
}

100分AC代码:

点击查看代码
#include<iostream>
#include<algorithm>
using namespace std;
int L,N,M,d[50005];
bool check(int x){int cnt=0,last=0;for(int i=1;i<=N+1;i++){int pos=(i<=N)?d[i]:L;if(pos-last<x)cnt++;else last=pos;}return cnt<=M;
}
int main(){cin>>L>>N>>M;for(int i=1;i<=N;i++)cin>>d[i];int l=1,r=L;while(l<r){int mid=(l+r+1)>>1;if(check(mid))l=mid;else r=mid-1;}cout<<l;return 0;
}

我敢保证,这绝对最优解
欢迎借鉴~~

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

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

相关文章

【JVM】详解 Class类文件的结构 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实验3_CPP

任务1 源代码 button.hpp #pragma once#include <iostream> #include <string>class Button { public:Button(const std::string &label_);const std::string& get_label() const;void click();pr…

longchain4j 学习系列(4)-mcp调用

继续学习langchain4j,以下是langchain4j 调用MCP的示例: 1、添加pom依赖1 <dependency> 2 <groupId>dev.langchain4j</groupId> 3 <artifactId>langchain4j-mcp</artifactId>…

Java 学习路线可按「基础→进阶→实战→架构」四阶段推进

一、基础入门阶段(1-2个月) 核心目标:掌握Java语法和基本编程思维,能独立写简单程序。 核心知识点: 环境搭建(JDK安装、IDEA使用、环境变量配置) 基础语法(变量、数据类型、运算符、流程控制、数组) 面向对象…

Jetson Orin Nano super -2 烧录概念及必要性

一、什么是烧录?(核心定义) 烧录(又称 “写入”“刷写”)是指 将预先打包好的系统镜像、程序固件或驱动文件,通过专用工具和协议,写入嵌入式设备(如 Jetson 开发板、单片机)的存储介质(如 eMMC、SD 卡、NVMe…

blog搬迁

博客已经搬迁到https://langx1ng.github.io/处我要吃炸鸡

102302122许志安作业3

要求:指定一个网站,爬取这个网站中的所有的所有图片,例如中国气象网(http://www.weather.com.cn)。实现单线程和多线程的方式爬取。 代码如下: import os import requests from bs4 import BeautifulSoup from u…

iPhone14系列电池容量多少毫安

iPhone 14:3279mAhiPhone 14 Plus:4325mAhiPhone 14 Pro:3200mAhiPhone 14 Pro Max:4323mAh作为对比iPhone 13 / Pro 系列电池容量:iPhone 13 mini:2406mAhiPhone 13:3227mAhiPhone 13 Pro:3095mAhiPhone 13 P…

ipc linux

在 Linux 中,IPC(Inter-Process Communication,进程间通信) 是一种让不同进程之间进行数据交换和协作的机制。常见的 IPC 方式包括:1. 管道(Pipe)用途:用于父子进程之间传递数据。命令示例:cat file1 | grep …

读 《d2l:Chapter3. 线性神经网络 》随笔

讲一下Softmax回归 先说说自带mnist等库中的one-hot encoding 就是:一个向量,分量 (Row) == 类别 如: A、B、C 对应 \((1, 0, 0)\)、\((0, 1, 0)\)、\((0, 0, 1)\) 注:全连接层: 不同层使用线性连接 \(softmax\)运…

错排的

1.关键错排的理解 当1不放在k时 n个元素去掉k而k原来的位置可以看成1现在的位置(不能放的)变成了n-1个元素的错排 2.记忆化搜索 你后面要写函数啊 include <bits/stdc++.h> using namespace std; long long dp…

ipad学linux

iPad 并不是 Linux 系统,它是一款 iOS 设备,运行的是 Apple iOS 操作系统。因此,无法直接在 iPad 上运行 Linux。不过,你可以通过以下几种方式在 iPad 上使用 Linux:? 一、在 iPad 上运行 Linux(通过虚拟机或容…

iPadOS16有什么新功能

1、信息 App 为用户带来高效协作新方式2、一款协作类新 App 全面支持 Apple Pencil,让用户能在同一块灵活的画布上实时进行查看、分享和协作3、邮件 App 推出的全新搜索功能可得到相关性更高、更准确、更完整的搜索结…

ipad linux

您提到的 "iPad Linux" 实际上是 iPad 无法直接运行 Linux 的一个常见误解。iPad 是苹果公司生产的触摸屏设备,基于 iOS 系统,而 Linux 是一个开源操作系统,通常运行在桌面或服务器设备上。如果您是想在 …

ip 查看linux

ip 是一个用于查看和管理网络接口的命令行工具,常用于查看网络接口的状态、配置信息、路由表等。以下是 ip 命令的一些常见用法和示例:一、查看网络接口状态ip a显示所有网络接口的详细信息,包括接口名、IP 地址、子…

从上下文工程到组织知识管理重构——HRBP在人机协同时代的新使命 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:蓝色星球如何打造能与企业共同进化的灵活系统

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第七讲上自监督学习self-supervised learning-BERT

第七讲自监督学习self-supervised learning 常见的自监督模型大小:BERT<GPT<SWITCH 监督学习(supervised learning):有标签 自监督学习(self-supervised learning):没标签(属于无监督学习的一种类型)自…

内网渗透过程的多种代理搭建方法

在渗透的时候或多或少都会遇到各种不同的内网环境 因此我们拿下目标的外网资产后除了隐蔽自己外还有一个重要的步骤就是搭建内网代理,用外围机器作为跳板去攻击内网其他靶机 1.Neo-reGeorg reGeorg是一个老牌搭建内网…

男女生排列 女生的一定千万别忘了

进步就是我的代码模板化了不少 递推式再写一次include <bits/stdc++.h> using namespace std; long long dp[55]; long long f(int x) { if(dp[x]!=-1) return dp[x]; return dp[x]=f(x-4)+f(x-2)+f(x-1); } int…