跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++算法

2025 信奥赛 C++ 提高组 CSP-S 复赛真题及题解:员工招聘

解析了 2025 信奥赛 C++ 提高组 CSP-S 复赛中的员工招聘问题。该问题属于算法竞赛中的贪心匹配类型,核心在于如何最大化招聘人数。通过对比应聘者技能值与岗位要求,利用排序和双指针策略进行高效匹配。文章提供了完整的 C++ 代码实现及复杂度分析,帮助读者掌握此类问题的解题思路。

疯疯癫癫发布于 2026/2/10更新于 2026/9/43.8K 浏览
2025 信奥赛 C++ 提高组 CSP-S 复赛真题及题解:员工招聘

员工招聘

题目描述

小 Z 和小 H 想要合伙开一家公司,共有 n 人前来应聘,编号为 1 ∼ n。每位应聘者有一个技能值 s_i。公司需要招聘 m 名员工,每个岗位对技能值有最低要求 r_j。若应聘者 i 的技能值 s_i ≥ r_j,则其可以胜任岗位 j。目标是最大化被成功招聘的人数。

解题思路

这是一个典型的贪心匹配问题。为了使招聘人数最大化,我们应该优先满足要求较低的岗位,或者让技能最高的应聘者去满足要求最高的岗位。这里采用排序后双指针或贪心的策略。

  1. 将应聘者按技能值从小到大排序。
  2. 将岗位要求从小到大排序。
  3. 遍历岗位要求,尝试用当前技能最低的合格应聘者填补。

代码实现

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n, m;
    if (!(cin >> n >> m)) return 0;
    
    vector<int> s(n);
    for (int i = 0; i < n; ++i) cin >> s[i];
    
    vector<int> r(m);
    for (int i = 0; i < m; ++i) cin >> r[i];

    sort(s.begin(), s.end());
    sort(r.begin(), r.end());

    int ans = 0;
    int ptr = 0;
    for (int i = 0; i < m && ptr < n; ++i) {
        if (s[ptr] >= r[i]) {
            ans++;
            ptr++;
        } else {
            // 当前应聘者技能不足,尝试下一个更高技能的
            ptr++;
        }
    }
    cout << ans << endl;
    return 0;
}

复杂度分析

  • 时间复杂度:O(N log N + M log M),主要消耗在排序上。
  • 空间复杂度:O(N + M),用于存储输入数据。

目录

  1. 员工招聘
  2. 题目描述
  3. 解题思路
  4. 代码实现
  5. 复杂度分析

更多推荐文章

查看全部
  • Web Components 实战:从原生 API 到跨框架复用
  • WebStorm 安装与首次启动指南
  • 基于 AI 的自动化域名追踪系统设计与实现
  • 2026 年 3 月 23 日 AI 产业周报:中国模型调用量领跑,马斯克布局太空算力
  • K 个一组反转链表:迭代解法详解
  • AI 如何打破产品经理的能力壁垒,让更多人都能参与
  • VR、AR 与 MR 区别详解:从概念到应用场景的通俗解读
  • 电商平台高峰时段 Java 性能优化策略与实践
  • 2026 年主流 AI 大模型实测排名与选型指南
  • 字节跳动Android面试经验分享
  • OpenClaw 集成 GitHub Copilot GPT-5.4 修复指南
  • Java 判断整数奇偶性的面试题解析与优化
  • FPGA 中加法器资源利用深度剖析
  • Python 标准库与第三方库实战:日期处理与 Excel 操作
  • QClaw 本地 AI Agent 接入微信的使用指南与原理分析
  • 树莓派智能家居毕设:AI 辅助开发与边缘推理实战
  • SeargeSDXL AI 绘画工作流使用指南
  • C++ 虚函数与纯虚函数:多态机制的深度解析
  • 算法优选:位运算技巧与实战案例
  • Win10/11 系统下 WSL2 + Ubuntu 20.04 全流程安装指南(含 D 盘迁移方案)

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online