1792. 最大平均通过率

【C++堆(优先队列)】1792. 最大平均通过率|1817 不知道如何证明,欢迎告诉我 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。 给你一个整数 extraStudents ,表示额外有 extraStudents 个聪明的学生,他们 一定 能通过任何班级的期末考。你需要给这 extraStudents 个学生每人都安排一个班级,使得 所有 班级的 平均 通过 阅读详情

文章目录

题意

题目链接
给了每个班的人数和通过人数,给了一堆必考过的学生,分配给了不同班,让平均班的通过率最高。

思路

看分配给不同班的收益率,优先最高收益率,使用优先队列

代码

class Solution {
public:
    double calcAdd(int pass, int total)
    {
        return (pass + 1.0) / (total + 1.0) - (pass * 1.0) / total;
    }
    double maxAverageRatio(vector<vector<int>>& classes, int extraStudents) {
        priority_queue<pair<double, pair<int, int>>> Q;
        for (auto &index:classes)
            Q.push(make_pair(calcAdd(index[0], index[1]), make_pair(index[0], index[1])));
        while (extraStudents--)
        {
            auto index = Q.top();
            int pass = index.second.first + 1;
            int total = index.second.second + 1;
            Q.pop();
            Q.push(make_pair(calcAdd(pass, total), make_pair(pass, total)));
        }

        double ans = 0.0;
        while (!Q.empty())
        {
            auto index = Q.top();
            int pass = index.second.first;
            int total = index.second.second;
            ans += pass * 1.0 / total;
            Q.pop();
        }

        return ans / classes.size();
    }
};
zemax混合式非序列模拟 注意不要点击左侧的非序列模式,那个时纯粹的非序列,会清除序列模式的数据。第2、4、6透镜材质为空气,是为了让光线进入到多重透镜内部。这时普通的优化方式会失败。平行光束经过多焦透镜时,会汇聚在不同焦距处。所以还需要控制能量的大小,进行优化。接下来用非序列模式设计一个多焦透镜。像面的孔径为圆形通光孔:0-1.2。透镜不同位置处有不同的聚焦位置。透镜的z轴位置相同,重合。 阅读详情

相关推荐

TSMC 40nm LP工艺下,新手画版图最容易踩的5个坑(附Cadence避坑指南)

本文详细解析了TSMC 40nm LP工艺下版图设计的5个常见陷阱,包括MOS管尺寸转换、DNW隔离、Guard Ring设计、金属布线和DRC检查。通过Cadence实战技巧和设计规则优化,帮助新手工程师规避典型错误,提升版图设计效率和质量。

weixin_26800111的博客 457

LeetCode 1792.最大平均通过率

LeetCode 1792.最大平均通过率 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。 给你一个整数 extraStudents ,表示额外有 extraStudents 个聪明的学生,他们 一定 能通过任何班级的期末考。你需要给这 extraStudents 个学生每人都

wzy1414的博客 445

Word | 简单可操作的快捷公式编号、右对齐和引用方法

在理工科论文的写作中,涉及到大量的公式输入,我们希望能够按照章节为公式进行编号,并且实现公式居中,编号右对齐的效果。网上有各种各样的方法来实现,操作繁琐和简单的混在一起,让没有接触过公式编号的人感觉比较混乱。笔者自己博览相关博客,亲身实践,总结出一套自认为比较简便的公式编号、对齐和引用方法,在这里分享给大家~

qq_43466146的博客 3万+

Leetcode.1792 最大平均通过率

Leetcode每日一题

感觉画质不如...原神的博客 397

【win11 cuda12.0安装tensorflow-gpu】

win11 cuda 12.0 安装 tensorflow-gpu

weixin_36299320的博客 3009

关于HC32F460 输出可调占空比PWM波遇到的问题记录

文章目录问题记录一、问题分析二、解决方法总结 问题记录 芯片:HC32F460系列 功能:PWM电机调速 最近产品开发,需要用到HC32的PWM输出来控制电机的转速。参考官方的例程很快就完成了相关的功能,但是,后面在测试,重复开关电机的时候,发现电机的转速时大时小。 一、问题分析 一开始,怀疑是相关寄存器的设置出错导致的问题。因此在设置PWM输出时加上LOG打印,上机测试并没有发现问题。 用示波器抓取波形,这是正常状态下的波形(上电默认配置成5kHz,70%占空比输出) 这是转速较小时的波形输出 .

Top0_0lll的博客 6165

力扣1792.最大平均通过率

【代码】力扣1792.最大平均通过率。

Pisasama的博客 255

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 769

leetcode 1792. 最大平均通过率 中等

你可以将额外的两个学生都安排到第一个班级,平均通过率为 (3/4 + 3/5 + 2/2) / 3 = 0.78333。一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。等于这个班级通过考试的学生人数除以这个班级的总人数。能通过任何班级的期末考。是所有班级的通过率之和除以班级数目。与标准答案误差范围在。个学生每人都安排一个班级,使得。以内的结果都会视为正确结果。,表示你提前知道了第。个学生去对应班级后的。个学生可以通过考试。

2401_88085478的博客 334

FLUENT UDF编译及蒸发冷凝相关问题

蒸发冷凝与相间传质

weixin_48029137的博客 1万+

威纶通触摸屏与S7-1200以太网通信的具体方法和步骤(非常详细)

威纶通触摸屏与S7-1200以太网通信的具体方法和步骤(非常详细)

Robot_PLC_HMI_Automation 1万+

LeetCode 1792 最大平均通过率

题目链接 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。 给你一个整数 extraStudents ,表示额外有 extraStudents 个聪明的学生,他们 一定 能通过任何班级的期末考。你需要给这 extraStudents 个学生每人都安排一个班级,使得 所有 班级的

旺崽的博客 2144

2018安徽省青少年信息学奥林匹克(AHOI)初中组

12 种合法的排列分别为:1, 3, 2, 4, 2, 3, 1, 4, 3, 1, 4, 2, 3, 2, 4, 1, 1, 3, 4, 2, 2, 3,4,1,1,4,2,3, 2,4,1,3, 4,1,3,2, 4,2,3,1, 1,4,3,2, 2,4,3,1。分为 2 组,一组的队员实力值是{4, 5, 2, 3},一组是{-4, -3, -5},其中最小的组人数为 3,可以发现没有比 3 更优的分法了。[0, 1, 1, 2]同样不是合法的分组方案,因为出现了两个实力值为 1 的选手。

weixin_42358969的博客 1143

LeetCode——1792. 最大平均通过率(Maximum Average Pass Ratio)[中等]——分析及代码(Java)

LeetCode——5703. 最大平均通过率[Maximum Average Pass Ratio][中等]——分析及代码[Java]一、题目二、分析及代码1. 优先队列(堆)(1)思路(2)代码(3)结果三、其他 一、题目 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 tota

江南土豆的博客 694

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Leetcode(每日一题)——1792. 最大平均通过率

【代码】Leetcode(每日一题)——1792. 最大平均通过率。

庄小焱 454

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【LeetCode 每日一题】1792. 最大平均通过率——贪心 + 优先队列

这段代码旨在解决一个优化问题:给定一组班级,每个班级有 个通过人数和 个总人数,以及 个额外的学生。你需要将这些额外的学生分配给各个班级,使得所有班级的平均通过率最大化。该算法采用了一种 贪心策略 (Greedy Strategy),并利用 优先队列 (Priority Queue) 这一数据结构来高效地实现。其核心思想是:每一次分配,都把一个额外的学生分配给那个能带来最大通过率增益的班级。定义“增益”:数据结构选择:优先队列排序标准的数学推导:算法执行流程: 时空复杂度 时间复杂度:O(N log

最短的捷径就是绕远路,绕远路才是我的最短捷径。 1027

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LeetCode-1792. 最大平均通过率【堆,优先队列,贪心】

每次从优先队列中取出或者放入元素的时间复杂度为 O(log⁡n),共需操作 O(n+m)次,故总复杂度为 O((n+m)log⁡n)。解释:你可以将额外的两个学生都安排到第一个班级,平均通过率为 (3/4 + 3/5 + 2/2) / 3 = 0.78333。输入:classes = [[2,4],[3,9],[4,5],[2,10]], extraStudents = 4。输入:classes = [[1,2],[3,5],[2,2]], extraStudents = 2。输出:0.78333。

zik的博客 793

LeetCode 1792. 最大平均通过率

建立一个大根堆,每次从其中取出收益最大的班级,安插额外学生后进堆,直到额外学生安插完毕,最后计算通过率。对于这题,一个显然的贪心思想是:将extrastudents给能获得最高通过率收益的班级。

qq_37231166的博客 301

Leetcode 1792. 最大平均通过率 题解

Leetcode 1792. 最大平均通过率 题解

weixin_63192658的博客 479

【1792. 最大平均通过率】

1792. 最大平均通过率

Sugar_wolf的博客 396
上一篇: 2827. 范围中美丽整数的数目
下一篇: 2115. 从给定原材料中找到所有可以做出的菜
luckycoding
博客等级 码龄14年 108粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值