如何把物流做免费网站中国建设教育协会官网证书查询
如何把物流做免费网站,中国建设教育协会官网证书查询,西宁市建设网站价格低,用腾讯云做购物网站视频几何平均值最大子数组 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)
题目描述
从一个长度为N的正数数组numbers中找出长度至少为L且几…几何平均值最大子数组2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷华为OD机试双机位C卷真题目录点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)题目描述从一个长度为N的正数数组numbers中找出长度至少为L且几何平均值最大子数组,并输出其位置和大小。(K个数的几何平均值为K个数的乘积的K次方根)若有多个子数组的几何平均值均为最大值,则输出长度最小的子数组。若有多个长度相同的子数组的几何平均值均为最大值,则输出最前面的子数组。输入描述第一行输入为N、LN表示numbers的大小(1 ≤ N ≤ 100000)L表示子数组的最小长度(1 ≤ L ≤ N)之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)输出描述输出子数组的位置(从0开始计数)和大小,中间用一个空格隔开。备注用例保证除几何平均值为最大值的子数组外,其他子数组的几何平均值至少比最大值小10^-10倍示例1输入3 2 2 2 3输出1 2说明长度至少为2的子数组共三个,分别是{2,2}、{2,3}、{2,2,3},其中{2,3}的几何平均值最大,故输出其位置1和长度2示例2输入10 2 0.2 0.1 0.2 0.2 0.2 0.1 0.2 0.2 0.2 0.2输出2 2说明有多个长度至少为2的子数组的几何平均值为0.2,其中长度最短的为2,也有多个,长度为2且几何平均值为0.2的子数组最前面的那个为从第二个数开始的两个0.2组成的子数组题目解析本题需要找到一个长度至少为 L 的子数组,使得它的几何平均值最大。可以利用二分法来找到这个几何平均值,然后再根据这个几何平均值来判断是否存在符合要求的子数组。具体来说,二分法的上下界分别是数组中的最大值和最小值,然后每次取中间值 mid_num,计算以 mid_num 为几何平均值的子数组是否存在,并且长度是否大于等于 L。如果存在,说明当前的 mid_num 可以作为几何平均值,需要将最小值更新为 mid_num,否则需要将最大值更新为 mid_num。计算以 mid_num 为几何平均值的子数组是否存在,可以利用前缀和的方式来计算,同时可以利用一个临时变量 min_pre_result 来记录前缀和的最小值,以及它的位置 min_pre_result_pos,这样可以避免每次重新计算前缀和。C++#include iostream