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

洛谷P2678题解

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.jsqmd.com/news/48417/

相关文章:

  • 【JVM】详解 Class类文件的结构 - 指南
  • 实验3_CPP
  • longchain4j 学习系列(4)-mcp调用
  • Java 学习路线可按「基础→进阶→实战→架构」四阶段推进
  • Jetson Orin Nano super -2 烧录概念及必要性
  • blog搬迁
  • 102302122许志安作业3
  • iPhone14系列电池容量多少毫安
  • ipc linux
  • 读 《d2l:Chapter3. 线性神经网络 》随笔
  • 错排的
  • ipad学linux
  • iPadOS16有什么新功能
  • ipad linux
  • 深入解析:蓝色星球如何打造能与企业共同进化的灵活系统
  • 第七讲上自监督学习self-supervised learning-BERT
  • 内网渗透过程的多种代理搭建方法
  • 男女生排列 女生的一定千万别忘了
  • 2025年11月上海专业防水补漏推荐!Top5口碑公司实测,先检测后施工有保障
  • 商品推荐系统-FAISS召回
  • AI 时代,.NET 开发者是向左还是向右?
  • Claude code 使用技巧
  • OpenDroneMap (ODM) 无人机影像三维模型重建安装及应用快速上手
  • OneDrive人脸分组功能预览引发隐私担忧
  • 人和动物的区别在哪里???
  • 机器人模仿学习运动基元数学编码高效的方法还有用吗?
  • CF2152
  • xyd 2025 NOIP 模拟赛
  • 7段第二课:贪心
  • NET 8 封装自己的 rabbtMQ