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

第十六届蓝桥杯康复训练--7

 题目链接:730. 机器人跳跃问题 - AcWing题库

思路:二分,每次判断一下可以不可以就好

代码:

#include<bits/stdc++.h>
using namespace std;

#define N 100010

int n;
int a[N];

bool check(int mid){
    for(int i=1;i<=n;i++){
        if(mid>=a[i])mid+=mid-a[i];
        else mid-=a[i]-mid;
        if(mid<0)return false;
        // 防止溢出。。。。
        if(mid>=2*N)return true;
    }
    return true;
}

int main(){
    
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    
    int l=0,r=N;
    while(l<=r){
        int mid=l+r>>1;
        if(check(mid))r=mid-1;
        else l=mid+1;
    }
    
    cout<<l<<endl;
    
    
    return 0;
}

tips:逆天,最逆天的是,如果你使用二分的话,你可能会遇到一个无论怎么交都会wa的问题,然后看到反馈数据都是变成了r+1,这里有个bug就是最极限的情况是会有 100010∗2100010100010∗2100010 的值,导致爆了,所以为了避免这种情况要对足够大的数提前判true

相关文章:

  • Python实现deepseek接口的调用
  • 中间件漏洞—Jboss
  • 信号的漏桶实现
  • 神聖的綫性代數速成例題20. 廣義逆矩陣的概念與計算、線性空間上的雙線性函數及其性質、歐幾里得空間中正交投影的應用
  • 牛客周赛84 题解 Java ABCDE 仅供参考
  • Window对象与本地存储详解
  • 重装系统后遗症之zotero篇——zotero配置
  • 同旺科技USB to SPI 适配器 ---- 多适配器、多从机混合调试
  • 文件操作助手
  • 2025年渗透测试面试题总结-某360-企业蓝军面试复盘 (题目+回答)
  • 网站备份 工具,如何使用网站备份工具进行网站备份
  • MSIL入门
  • 测试用例`
  • 【橘子网络】关于网络分层以及协议的全局讲解
  • 小智物联网开发:为小智安装“机械臂“(其实就是加个舵机进行语音控制)
  • win32汇编环境,网络编程入门之九
  • 2025年了,5G还有三个新变化
  • unityAB包(2/2)
  • 性能测试笔记
  • asp.net进销存软件WEB进销存ERP软件库存玻璃行业
  • 下达专项资金、党政主官田间调研……全国多地力保夏粮稳收
  • 抢抓消费旺季:五一假期,多地党政主官调研外贸优品展销活动
  • “三桶油”一季度净赚966亿元:业绩分化加剧,有人欢喜有人愁
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期
  • 光明日报社论:用你我的匠心,托举起繁盛的中国
  • 乌副总理:乌美签署矿产协议