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分析

本题为np-hard问题,以下给出近似解法

解题思路

算法选择:LPT 贪心 + 最小堆

  1. 将样本时长按从大到小排序。
  2. 使用一个大小为 n 的最小堆(优先队列)来维护每个 NPU 的当前负载,初值全为 0。
  3. 依次取出当前最大的样本,把它放到当前负载最小的 NPU 上(堆顶),更新该 NPU 的负载并压回堆。

P3561.第2题-大模型训练数据均衡分配算法

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

题目内容

大模型训练通常采用数据并行的训练方式,处理大规模数据集(样本),加速训练过程,具休的:

假设有nnn个NPUNPUNPU,mmm个样本,把mmm个样本分给nnn个NPUNPUNPU,每个NPUNPUNPU上有一份完整模型,各自计算自己的样本数据,其中m>=nm>=nm>=n,保证每个NPUNPUNPU至少分到一个样本,且样本不能切分,一个样本必须完整的被分到个NPUNPU NPU上

每个NPUNPUNPU的运行时间跟所分到的样本的长度和呈正相关。如果每个NPUNPUNPU上的样本长度和相差较大,会形成木桶效应,执行快的NPUNPUNPU等待执行慢的NPUNPUNPU,最终执行时间由最大样本和长度的NPUNPUNPU决定。

试着编号一段程序对样本进行均衡分配,设nnn个NPUNPUNPU上分得的最大的样本和为lmaxl_{max}lmax​,使lmaxl_{max}lmax​最小,即求min(lmax)min(l_{max})min(lmax​)

输入描述

第一行为111个整数n(0<n<1000)n(0< n< 1000)n(0<n<1000),表示NPUNPUNPU的个数

第二行为111个整数m(0<m<10000)m(0 < m< 10000)m(0<m<10000),表示样本的个数

第三行有mmm个处于区间[1,100000][1,100000][1,100000]之内的整数,表示mmm个样本中每个样本的长度

输出描述

输出111个整数(行尾没有空格),该数字表示min(lmax)min(l_{max})min(lmax​)的值,

样例1

输入

4
7
89 245 64 128 79 166 144

输出

245

说明

样本根据NPUNPUNPU个数进行分组,一共有444个NPUNPUNPU,所以有444个分组,最优样本分配如下:

(1)79,144 (2)245 (3)64,166 (4)128,89(1)79,144 \ (2)245 \ (3)64,166 \ (4)128,89(1)79,144 (2)245 (3)64,166 (4)128,89

求和分别为:223,245,230,217223,245,230,217223,245,230,217;444个NPUNPUNPU中最大的样本长度和为245245245、所以输出245245245

样例2

输入

2
3
145 274 100

输出

274

样本根据NPUNPUNPU个数进行分组,一共有222个NPUNPUNPU,333个样本;所以有222个分出,有以下333种分法:

(1)145,274+100;(2)274,145+100;(3)100,145+274(1)145,274+100;(2)274,145+100;(3)100,145+274(1)145,274+100;(2)274,145+100;(3)100,145+274

333种分法的最大样本和分别为:374,274,419374,274,419374,274,419;

所以第222种分法超均衡,最大样本和长度最小,为274274274,所以输出274

开通会员即可查看完整视频题解: 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 3, 46ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?