1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

我们有 M 台服务器(编号 1..M),N 个任务(编号 1..N)。第 i 个任务给出启动时间 s_i 与执行时间 t_i,不同任务的启动时间两两不同。任务按启动时间发生: 当某任务到来时,所有在该时刻之前或恰好完成的任务会释放其服务器;若有空闲服务器,则该任务立刻占用编号最小的空闲服务器并执行。要求输出编号为 K 的任务在执行时占用的服务器编号。

核心算法:事件模拟 + 两个小根堆(优先队列)

  1. 将任务按启动时间 s_i 升序排序,同时保留任务原编号 i。
  2. 维护两个堆:

P3868.第2题-服务器的编号

    1000ms Tried: 232 Accepted: 63 Difficulty: 5 所属公司 : 华为
    算法与标签>模拟

题目内容

数据中心有 MMM 个服务器(编号 1−M1-M1−M ),现在 NNN 个(编号 1−N1-N1−N )需要执行,当一个任务开始执行时,会独占编号最小的空闲服务器,执行完后会立即释放该服多器。任务按照启动时间的先后顺序执行(所有任务的启动时间都不相同)。请返回编号为 KKK 的任务执行时占用的服务器编号。

输入描述

第一行是用空格分隔的三个整数:M,N,KM,N,KM,N,K 分别代表服务器个数,任务数,需要查询的任务编号, 1<=K<=N<=M<=1041<=K<=N <= M <= 10^41<=K<=N<=M<=104

接下来 NNN 行是编号 1−N1-N1−N 的任务信息,每行是用空格分隔的两个整数,分别代表任务的启动时间,执行需要的时间。1<=1<=1<= 启动时间,执行时间 <=105<=10^5<=105

输出描述

编号为 KKK 的任务执行时占用的服务器编号

样例1

输入

4 3 2
1 2
4 6
3 3

输出

2

说明

编号为 111 的任务(启动时间为 111 )占用 111 号服务器

编号为 333 的任务(启动时间为 333 )执行时,编号为 111 的任务已经执行完,111 号服务器空闲,所以占用 111 号服务器

编号为 222 的任务(启动时间为 444 )执行时,编号为 333 的任务还没有执行完,所以占用 222 号服务器

样例2

输入

2 1 1
1 5

输出

1

说明

只有 111 个任务,占用 111 号服务器

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 64ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?