首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
Forsaken给学生分组
9条解析
开通博客写题解
noite
发表于 2025-03-25 21:07:21
这道题比较简单,主要是要考虑所有情况,之后进行判断就可以了。 题目要求是方便管理学生,能力强的和能力弱的一组就方便管理,因此需要找到学生能力的差的最大值,所以首先对数组进行排序(直接用sort很方便),排序后的数组的最
展开全文
Yuanzhe_fan
发表于 2025-10-13 22:04:30
根据题面,我们的目标是最大化这个总和: 等同于: 那么问题就变成了: 从 个学生中,选出 个作为各组的最大值, 个作为各组的最小值,使得最大值们的总和与最小值们的总和之差最大。 如何让 最大? 很简单,我们从排好序的数组中,选择最大的 个数 作为这 个组的 。 如何让 最
展开全文
threeway
发表于 2025-10-14 23:15:58
#include <bits/stdc++.h> using namespace std; int main() { int n,k; cin>>n>>k; vector<int> a(n); for(int i=0;
展开全文
猫萌
发表于 2022-03-09 16:45:41
比较简单的一题,只要注意下有几种情况即可 第一种,每个组都能拥有两个或两个以上的学生 第二种,只有部分组有。 那么我们考虑到底有几个组能获得两个以上的,那不就是先分配一个给他们再分配两个。 那么假如有十个学生分配7组,我们就可以知道有3组是有两个的,但如果是10个学生分配三组,那么必然每组都两个朝上
展开全文
神崎兰子
发表于 2025-10-13 11:06:37
Forsaken给学生分组 题解 题目描述 Forsaken有 个学生,每个学生有一个能力值 。为了方便管理,Forsaken决定将这 个学生分成 组。 对于第 组,其"管理便利性"定义为: 求所有组的管理便利性总和的最大值: 核心结论 答案: 将学生能力值排序后,选
展开全文
_LSR_
发表于 2025-10-13 19:27:32
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n,k; cin >> n >&g
展开全文
Ricarpy
发表于 2025-10-13 20:11:00
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { int n, k; cin >> n >&
展开全文
辰郭
发表于 2025-10-13 20:24:38
#include<stdio.h> #include<stdlib.h> #include<string.h> int compare(const void* p1, const void* p2) { long long a = *(long long*
展开全文
quchen666
发表于 2025-10-13 20:25:28
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5+10; int n,k; ll a[N]; int main() { cin>>n>>
展开全文
查看本题
查看本题讨论
相关比赛
1221-牛客小白月赛18
进入比赛
5396-牛客小白月赛18(重现赛)@郑然然
进入比赛
5725-牛客小白月赛18(重现赛)@我是一只傻狍子
进入比赛
5994-牛客小白月赛18(重现赛)@我是一只傻狍子
进入比赛
7032-牛客小白月赛18(重现赛)@PhantomSamurai
进入比赛
等你来战
查看全部
牛客2025秋季算法编程训练联赛3-基础组
报名截止时间:2025-10-29 21:00
牛客2025秋季算法编程训练联赛3-提升组
报名截止时间:2025-10-29 21:30
牛客练习赛145
报名截止时间:2025-10-31 21:30
牛客周赛 Round 116
报名截止时间:2025-11-02 21:00
牛客2025秋季算法编程训练联赛4-基础组
报名截止时间:2025-11-05 21:00
牛客2025秋季算法编程训练联赛4-提升组
报名截止时间:2025-11-05 21:30
三晋七校第一届新生赛(同步赛)
报名截止时间:2025-11-08 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题