OPPO · 基础数学 · 算法编程题
OPPO 基础数学 n ≤ 1e5 时限 1 秒 / 256 MB

题目描述

小欧参加了“oppo杯”手机diy大赛,该大赛将从外观和性能两个方面综合评比每个选手的作品。
共有 n 个评委,每个评委为小欧的作品的外观和性能分别打了分数。
为了分数更加有效,每个指标的分数都将分别去除最高分和最低分之后计算剩下分数的平均数即为指标的分数,然后求出这两个指标分数的平均数,即为最终的分数。
然而,突发紧急公告,有一个评委可能由于徇私舞弊失去评价资格。
小欧想知道,如果是第 i 个评委失去资格,她最终能获得多少分?你需要回答 i=1,2,...,n 的答案。

输入输出

输入描述
第一行输入一个正整数 n ,代表评委的数量。
接下来的 n 行,每行输入两个正整数 a_i 和 b_i ,代表该评委给小欧作品的外观分数和性能分数。
4≤ n ≤ 10^5
1≤ a_i , b_i ≤ 10^9
输出描述
输出 n 行,第 i 行输出一个浮点数,代表第 i 个评委失去资格后,小欧最终的分数。
如果你输出的答案精度和标准答案的相对误差不超过 10^-5 ,则认为答案正确。

样例共 1 组

样例 1 · 第一个评委失去资格后,小欧的作品的外观分数为3(去掉最高分4和最低分2),性能分数是2,最终的分数是2.5。 后三个评委失去资格的情况不再赘述。
输入
4
1 1
2 3
3 2
4 1
输出
2.5
2
1.5
2

算法解析依据一般

考点:基础数学

数据规模 n ≤ 1e5 | 限制 1 秒 / 256MB | 标准输入输出

题目画像

  • 数据规模:n ≤ 1e5
  • 元素值域:a_i ≤ 1e9,b_i ≤ 1e9(注意整数类型选择,避免溢出)
  • 复杂度门槛:只允许 O(n log n) 及更优,朴素 O(n²) 会超时。
  • 源站时限:1 秒(牛客口径,非本题专属门槛)

解题思路

参考方向:基础数学

把题目转化为数学表达式,用公式或性质直接求值。

思路框架(基础数学 通法 · 非本题专属)

  1. 先写出题目要求的数学表达式或所求量的定义。
  2. 利用代数变形、不等式、函数单调性等性质化简。
  3. 按题面给的精度要求输出(浮点题注意误差)。
  4. 数据范围大时,往往存在 O(1) 或 O(log n) 的数学解,不必模拟。

实现要点:浮点输出通常要求相对误差不超过 1e-7,注意用 double/long double 或高精度小数。

复杂度:时间 O(1) ~ O(log n) | 空间 O(1)

该范式的通法易错点

  • 整数除法丢精度;浮点比较直接用 == 。
  • 题目要求「相对误差」而非「绝对误差」,输出格式没对齐。

对照本题

  • 数据规模 n ≤ 1e5,只允许 O(n log n) 及更优,朴素 O(n²) 会超时。
  • 元素值域最大到 1e9 —— 求和 / 相乘时记得开 64 位整数。
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。

样例解读

样例 1:输入 4 / 1 1 / 2 3 / 3 2 / 4 1 → 输出 2.5 / 2 / 1.5 / 2

第一个评委失去资格后,小欧的作品的外观分数为3(去掉最高分4和最低分2),性能分数是2,最终的分数是2.5。

后三个评委失去资格的情况不再赘述。

解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。

本题来源:2024年秋招-OPPO-研发岗笔试。

‹ 上一题 全部编程题 下一题 ›
编程算法题为只读内容:无需作答,直接看题与解析 · 本站不提供在线判题 · 解析由校招宝本地引擎整理,非官方题解