学习小组 II
将 n 名同学划分为若干个学习小组,每个小组的综合积极度由基础积极度 a_k 加上组内发言积极度最大值与最小值之差组成,要求求出所有划分方案中各小组综合积极度之和的最大值。
带有标签的文章:
8篇文章
将 n 名同学划分为若干个学习小组,每个小组的综合积极度由基础积极度 a_k 加上组内发言积极度最大值与最小值之差组成,要求求出所有划分方案中各小组综合积极度之和的最大值。

将 $n$ 个新成员($n$ 为偶数)分配到 3 个部门,已知每个人对各部门的满意度 $a_{i,j}$。在任意部门人数均不超过 $\frac{n}{2}$ 的限制下,求所有新成员满意度之和的最大值。
在给定 $T$ 组测试数据的情况下,利用给定的火柴棍数量 $n$,拼出一个没有前导零且数值最小的正整数;若由于火柴棍数量限制无法拼出任何正整数,则输出 $-1$。

对一个包含 $2n$ 个整数(数字 $1 \sim n$ 各出现两次)的序列 $a$ 进行 $2n$ 次弹出操作:每次只能从序列 $a$ 的开头(记为 L)或末尾(记为 R)取出一个数依次加入新序列 $b$,使得最终生成的序列 $b$ 构成回文串。如果存在多种可行的操作方案,需输出字典序最小的操作序列(即包含字符 L 和 R 的字符串);若无法构成回文串则输出 -1。

给定 n 个互斥占用同一资源的活动,每个活动包含指定的开始时间与结束时间,要求在所有活动中挑选出一个互不冲突且数量最多的活动集合。

Dijkstra 算法是图论中经典的贪心算法,依托松弛操作求解非负边权带权图的单源最短路径,广泛运用于路径规划、网络路由等各类工程场景。

Prim 是求解最小生成树的算法,从任意顶点出发维护一个已选顶点集合,每次选取连接集合内外、权值最小的边,将对应顶点并入集合,直到包含全部顶点;朴素实现 O(n^2) 适合稠密图,堆优化版本 O(mlog n) 适合稀疏图,支持负权边。

Kruskal 是求解最小生成树的算法,核心思路是将全部边按权值从小到大排序,依次选取边,借助并查集判断边的两个端点是否属于不同连通块,若不连通就把这条边加入生成树,直到选出 n‑1 条边;适合稀疏图,时间复杂度主要由排序决定 O(mlog m),可以处理带负权的边。