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

P1678 烦恼的高考志愿 二分查找的板子题

二分查找的一道题目#

题解:

#include <bits/stdc++.h>
using namespace std;
using ll=long long;
vector<int> school,point;
void solve(){ll res=0;int m,n;cin>>m>>n;for(int i=0;i<m;i++){int x;cin>>x;school.push_back(x);}for(int i=0;i<n;i++){int x;cin>>x;point.push_back(x);}sort(school.begin(),school.end());for(int i=0;i<n;i++){int idx = lower_bound(school.begin(),school.end(),point[i]) - school.begin();if(idx==0){res += abs(school[0]-point[i]);}else if(idx==m){res += abs(school[m-1]-point[i]);}else{res += min(abs(school[idx]-point[i]),abs(school[idx-1]-point[i]));}}cout << res << '\n';
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);solve();
}

注意:

  1. 最后的res开long long 因为累加起来会很大
  2. 关于 lower_bound
    lower_bound 返回的是第一个不小于目标值的插入位置
    类似于 植树问题 在一个有5个元素(树木)的数组中,植入一棵树(6个空隙都可以植树)
http://www.jsqmd.com/news/359167/

相关文章:

  • PNG文件格式理解
  • 金碧荷(也有叫红塔金秋的),云南特产,是春兰与豆瓣兰的自然串种瑰宝。保山农民街看到过2026年2月8日
  • 从Java到AI:我的转型之路 Ⅱ —— 手撸一个DeepSeek工具库
  • Qt-qrc机制简单介绍
  • RustFS高可用集群部署实战:轻松搭建企业级分布式存储架构
  • 信不信?这个 SQL 题,可以难倒大部分人
  • Qt——多媒体
  • 浏览器(如chrome)代理抓包时提示Your Connection is not private 问题临时处理
  • 我有 8种从 Spring中获取 Bean的方式!
  • CAPL学习-ETH功能函数-方法类2 - 详解
  • 小程序毕设项目:基于springboot+小程序的个性化食谱推荐系统小程序(源码+文档,讲解、调试运行,定制等)
  • 【毕业设计】基于springboot+小程序的个性化食谱推荐系统小程序(源码+文档+远程调试,全bao定制等)
  • 通信
  • 高并发
  • SPI 这么玩就很优雅!
  • 40 个定时任务,完美诠释 RocketMQ 设计精髓!
  • 数字图像处理篇---JPEG2000
  • 关于centos-stream调整开机级别后蓝牙使用问题
  • RabbitMQ 保证消息不丢失的几种手段
  • C++11实现线程池
  • 金碧荷,云南特产,是春兰与豆瓣兰的自然串种瑰宝
  • MySQL 索引失效跑不出这 8 个场景
  • 墨江双龙烧烤城(每周3周6)赶集才有人
  • 数字图像处理篇---图像的小波变换
  • 【计算机毕业设计案例】基于微信小程序的健康饮食推荐系统基于springboot+小程序的个性化食谱推荐系统小程序(程序+文档+讲解+定制)
  • 技术面试官视角:除了代码,更看重候选人的哪些潜质与特质?
  • 数字图像处理---压缩编码
  • 线上 OOM 了!热乎的!
  • 【计算机毕业设计案例】基于springboot+小程序的自助停车缴费系统小程序基于微信小程序的自助停车缴费系统停车场车位预约(程序+文档+讲解+定制)
  • 手写三高支付网关的设计与实现:基于Java17与Netty的核心架构!