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 video solution AI分析

解题思路

  • 把两个核心上的进程负载分别记为数组 cpu1[]、cpu2[]。若将两数组排序后完全相同,则称达到“负载平衡”。

  • 交换一次的功耗为两被交换任务负载的较小值。

  • 关键观察与算法:

    1. 计数判定:将两数组所有数值做频次统计,若某个负载在两数组合并后的出现次数为奇数,则无法分成两半,返回 -1。
    2. 构造需要互换的多重集合:对每个负载 v,目标是让两个数组中 v 的个数都为 total[v]/2。 多出的放入 Aextra(来自 cpu1),缺的放入 Bextra(来自 cpu2,用等价的“多出”表示)。两个集合大小相等。

P4235.第2题-手机CPU负载均衡

    1000ms Tried: 369 Accepted: 57 Difficulty: 5 所属公司 : 华为
    算法与标签>贪心算法

题目内容

在手机系统中,多核 CPUCPUCPU 普遍应用于每个核心上运行的多个进程。

假设现在有两个 CPUCPUCPU 核心,每个核心上运行了 nnn 个进程,每个进程都有其各自的负载,记录在整数数组 cpu1[]cpu1[]cpu1[] 和 cpu2[]cpu2[]cpu2[] 中。

为了实现两个核心之间的负载平衡,需要将一些进程进行多次迁核交换,将运行在 cpu1cpu1cpu1 上的进程与 cpu2cpu2cpu2 上的进程进行交换,直到两个核心达到负载平衡,每次交换会消耗一定的功耗,功耗的具体计算是两个交换任务的负载的较小值。

这里负载平衡的定义是,两个核心上运行的进程按负载排序后,序列相同,即排序后,两个核心相同下标的负载相同请返回达到负载平衡所需的最小功耗值。如果无法达到负载平衡,请返回 −1-1−1 。

输入描述

输入为两行,每一行都是个整数序列 cpu1[]cpu1[]cpu1[] 和 cpu2[]cpu2[]cpu2[] ,分别代表 cpu1cpu1cpu1 和 cpu2cpu2cpu2 上的进程负载参数范围:

1.进程个数 n:1<=n<=105n:1<=n<=10^5n:1<=n<=105

2.负载范围:1<=cpu1[i]<=108,1<=cpu2[i]<=1081<=cpu1[i]<=10^8,1<=cpu2[i]<=10^81<=cpu1[i]<=108,1<=cpu2[i]<=108

输出描述

输出一个整数,代表达到负载平衡所需的最小功耗值,−1-1−1 代表无法完成负载均衡

样例1

输入

4,2,2,4
2,1,1,2

输出

1

说明

cpu1cpu1cpu1 的下标 000 的元素 444 和 cpu2cpu2cpu2 下标 111 的元素 111 交换,产生功耗为 111 ,此时 cpu1=[1,2,2,4],cpu2=[2,4,1,2]cpu1=[1,2,2,4],cpu2=[2,4,1,2]cpu1=[1,2,2,4],cpu2=[2,4,1,2] 排序后字列相同

样例2

输入

4,2,2
1,2,1

输出

-1

说明

无法完成负载均衡

您的浏览器不支持 HTML5 视频播放。

开通会员即可查看完整视频题解:1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 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 2, 42ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?