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

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

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

疯疯癫癫发布于 2026/2/10更新于 2026/10/223.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 ( i = ; i < m && ptr < n; ++i) {
         (s[ptr] >= r[i]) {
            ans++;
            ptr++;
        }  {
            
            ptr++;
        }
    }
    cout << ans << endl;
     ;
}
int
0
if
else
// 当前应聘者技能不足,尝试下一个更高技能的
return
0

复杂度分析

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

目录

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

更多推荐文章

查看全部
  • GitHub 私有仓库转为公共仓库的操作步骤
  • AI 产品经理核心职责、技能体系与实战策略指南
  • C++ 基础:引用用法、inline 内联函数与 nullptr 详解
  • JDK 主流版本现状与选型建议
  • AIGC 浪潮下图文内容社区数据指标体系构建方法
  • C++ 从零实现 TCP Socket 网络工具实战
  • MySQL 错误 1130:Host 不被允许连接的原因与解决方案
  • 低代码助力集团企业实现多系统统一管理
  • Stable Diffusion img2img 低显存优化实战:图像转换与风格迁移
  • 自然语言处理在医疗领域的应用与实战
  • Stable Diffusion 底模 VAE 推荐与配置指南
  • Coze AI 智能体平台工作流基础创建与核心节点实战
  • Windows 本地大模型工具链安装指南:Ollama + llama.cpp + LLaMA Factory
  • Spring Boot 2.7.x 升级 Logback 至 1.3.x 及以上版本的解决方案
  • LLaMA 衍生模型:官方演进与社区微调
  • Ubuntu 22.04 更换镜像源全流程
  • Cubase 15 核心定位与潜在新功能分析
  • 大模型算法岗面试 100 道精选题目详解
  • PuLID 技术:突破 AI 绘画身份一致性难题
  • ChatGPT 学术版驱动的科研写作全流程辅助方案

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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