首页 > 其他分享 >2025/1/21学习

2025/1/21学习

时间:2025-01-21 22:35:07浏览次数:1  
标签:std begin 21 int mid 学习 2025 while id

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;

int Max,Min,n,t;
int a[N],b[N];

bool check(int x){
    int lim=Max-x;
    int L=-1,R;
    for (int i=1; i<=n; ++i){
        b[i]=a[i];
        if (a[i]<lim){
            if (L==-1) L=i;
            R=i;
        }
    }
    if (L==-1) L=R=t;
    for (int i=L; i<=R; ++i) b[i]*=2;
    int Min1=b[1],Max1=b[1];
    for (int i=2; i<=n; ++i) Min1=min(Min1,b[i]),Max1=max(Max1,b[i]);
    if (Max1-Min1<=x) return 1;
    return 0;
}

void solve(){
    cin>>n;
    for (int i=1; i<=n; ++i) cin>>a[i];
    if (n==1){
        cout<<0;
        return;
    }
    Min=Max=a[1];
    for (int i=2; i<=n; ++i) Min=min(Min,a[i]),Max=max(Max,a[i]);
    for (int i=1; i<=n; ++i)
        if (a[i]==Min) t=i;
    int l=0,r=2*(Max-Min),Ans=2*(Max-Min);
    while (l<=r){
        int mid=l+r>>1;
        if (check(mid)) Ans=mid,r=mid-1;
        else l=mid+1;
    }
    cout<<Ans;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int _=1;
    //cin>>_;
    while (_--) solve();
    return 0;
}


//正解

#include <bits/stdc++.h>

void solve() {
    int n;
    std::cin >> n;
    std::vector<int> a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }
    std::vector<int> id(n);
    std::iota(id.begin(), id.end(), 0);
    auto cmp = [&a] (int x, int y) -> bool {
        return a[x] < a[y];
    };
    std::sort(id.begin(), id.end(), cmp);
    int l = id[0];
    int r = l;
    a[l] *= 2;
    std::multiset<int> S(a.begin(), a.end());
    int ans = INT_MAX;
    for (int i : id) {
        while (i < l) {
            int p = --l;
            S.erase(S.find(a[p]));
            a[p] *= 2;
            S.insert(a[p]);
        }
        while (r < i) {
            int p = ++r;
            S.erase(S.find(a[p]));
            a[p] *= 2;
            S.insert(a[p]);
        }
        ans = std::min(ans, *S.rbegin() - *S.begin());
    }
    std::cout << ans << '\n';
}

int main() {
    int T = 1;
    // std::cin >> T;

    while (T--) {
        solve();
    }

    return 0;
}

  

标签:std,begin,21,int,mid,学习,2025,while,id
From: https://www.cnblogs.com/litianyu1969/p/18684573

相关文章

  • 2025毕设springboot 基于的网上招聘系统的设计与实现论文+源码
    系统程序文件列表开题报告内容研究背景随着互联网技术的迅猛发展和普及,网络已经成为人们获取信息、交流互动的重要平台。在人力资源领域,传统的招聘方式逐渐暴露出效率低下、信息不对称等问题。而网上招聘系统作为一种新兴的招聘模式,凭借其便捷性、高效性和广泛性,正逐步取代......
  • 2025毕设springboot 基于的网上订餐系统的设计与实现论文+源码
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的生活方式正发生着深刻的变化,特别是在餐饮消费领域,网上订餐已成为一种普遍现象。传统的餐饮消费模式往往需要消费者亲自前往餐厅点餐,不仅耗时费力,还受到地理位置和营业时间的限制。而基于互联网的网上订......
  • 2025毕设springboot 基于的土地档案管理系统论文+源码
    系统程序文件列表开题报告内容研究背景土地作为国家重要的自然资源,其管理和利用直接关系到国家的经济发展和社会稳定。随着城市化进程的加速,土地资源的开发和利用日益频繁,土地档案管理工作显得尤为重要。传统的土地档案管理方式多以纸质档案为主,不仅占用大量空间,而且在查询......
  • 深度学习目标检测使用yolov8训练使用路障类数据集之_道路积水检测数据集并构建一个基
    道路积水检测数据集,23097张,yolo和voc1类,标注数量:0道路积水:133261imagenum:23097积水啦,怎么办构建基于YOLOv8的道路积水检测系统。两种标注方式(YOLO和VOC)。以下是完整的代码实现,包括数据加载、模型训练、评估和推理。1.安装依赖首先,确保您已经安装了所需的库,特......
  • 训练YOLOv8模型_胸部x光片检测数据集 且构建一个基于YOLOv8的胸部X光片检测系统 voc_y
    训练YOLOv8模型_胸部x光片检测数据集且构建一个基于YOLOv8的胸部X光片检测系统voc/yolo文章目录以下文字及代码仅供参考1.安装依赖2.数据准备3.文件内容3.1`datasets/chest_xray_detection/`目录3.2`Config.py`3.3`train.py`3.4`detect_tools.py`3.5`UIProgr......
  • 如何使用深度学习框架目标检测YOLOv8训练骨折检测模型涉及到准备数据集、设置环境、预
    如何使用深度学习框架目标检测YOLOv8训练骨折检测模型涉及到准备数据集、设置环境、预处理数据、定义模型、训练模型、评估模型性能、分析结果和可视化,以及开发用户界面识别骨折X光检测数据集骨折X光检测数据集YOLO20000一套全面的X射线图像,旨在促进使用计算机视觉技......
  • 深度学习目标检测框架训练使用YOLOv8训练钓鱼检测数据集 使用Flask或FastAPI等框架创
    深度学习目标检测框架训练使用YOLOv8训练钓鱼检测数据集并构建一个基于YOLOv8的钓鱼检测系统使用YOLOv8训练钓鱼检测数据集,如何针对钓鱼检测进行调整和实现的详细步骤。1.安装依赖确保安装了必要的库。对于钓鱼检测,所需的库应该与之前提供的相同,但请根据实际情况检查是......
  • 日常训练2025-1-21
    日常训练2025-1-21E双生双宿之错rating:1300https://ac.nowcoder.com/acm/contest/95323/E思路(数论)本题考查中位数定理,中位数有这样的性质:所有数与中位数的绝对差之和最小。中位数是数列中间的那个数,或者是中间的那两个数之一。所以最后得到的双生数组中的两种数即为数列......
  • 转:学习数学的进度?
    数学学到什么程度可以进行下一部分的学习了?只要你愿意承认前面有没学懂的东西,还能心平气和地回去学懂。(而这一点是很多人做不到的,这需要内心极其强大,以及无与伦比的耐心。)比如费曼(量子电动力学发明人之一,诺贝尔物理学奖得主)就是这样做的,转述一个在某本书里的描述,他看书就是......
  • 2025毕设springboot 基于的图书馆管理系统设计与实现论文+源码
    系统程序文件列表开题报告内容研究背景在当今信息化高速发展的时代,图书馆作为知识传播与学习的重要场所,其管理效率和服务质量直接影响到读者的使用体验与满意度。传统的图书馆管理方式大多依赖于人工操作,如图书的借阅、归还、分类及信息录入等,这些流程繁琐且易出错,不仅增加......