小红目前正在负责一家大型 AI 实验室的推理资源调度工作。为了提高大语言模型(LLM)的并行推理效率,她需要为当前任务队列中的一系列请求分配 Token 资源(单位:k)。 队列中的每个推理请求都有一个对应的优先级评分。在分配资源时,小红设定了如下调度规则: 1. 优先级评分小于或等于 0 的请求会被视为无效任务或系统预留任务,不参与本次 Token 分配,即分配到的 Token 数量为 0。 2. 这些无效任务会将整个请求序列切分成若干个由连续有效任务(优先级评分大于 0)构成的子段。 3. 对于每个有效任务子段,段内的每个请求至少要分配 1k 个 Token。 4. 在同一个子段内部,如果某个请求的优先级评分严格高于它左边或右边相邻的任务,那么它分配到的 Token 数量必须严格多于该相邻任务。 小红希望在完全满足上述规则的前提下,计算出分配给所有任务的 Token 总数最小值是多少。
输入包含一行,为若干个由英文逗号隔开的整数,代表任务队列中每个推理请求的优先级评分。 任务总数 N 满足 1 ≤ N ≤ 2 × 10^5 。 每个优先级评分 P_i 满足 -10^9 ≤ P_i ≤ 10^9 。
输出一个整数,表示小红最少需要分配的 Token 总数(以 k 为单位)。
3,5,2,0,8
5
考点:贪心
数据规模 N ≤ 200000 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:贪心
本题切入点
等价于分糖果问题:从左到右和从右到左各扫一遍取较大值,保证相邻严格高的分到更多;被 0 和负数切分的子段独立处理。
每一步都取当前最优,靠问题性质保证局部最优能拼成全局最优。
思路框架(贪心 通法 · 非本题专属)
实现要点:贪心题关键在于排序规则:按什么关键字排序决定了策略是否正确。
复杂度:时间 O(n log n)(含排序) | 空间 O(1) ~ O(n)
该范式的通法易错点
对照本题
样例 1:输入 3,5,2,0,8 → 输出 5
在该样例中,优先级为 0 的任务将序列分割为两个有效子段:[3, 5, 2] 和 [8]。
总计最小分配数量为 4 + 1 = 5。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年-华为-04月15号AI岗;2026年-华为-04月15号开发岗。