本题可建模为**集合覆盖(Set Cover)**问题:每篇论文对应一个「可选教师集合」,我们要选出一个教师集合,使得每篇论文都至少被覆盖一次,并满足:
cost 之和)最小。某校有 n 篇论文需要分配给教师评审。
files[i] 对应的教师列表中任一教师评审。cost[t]。请给出参与评审教师数量最少时的总费用;若存在多种方案满足教师数最少,则选择总费用最小的方案。
输入,共有 4 个:
n - 论文篇数
m - 教师个数
files - 二维列表,形式为 files[i][j]
具体内容为:
files[0] 允许评审论文 0 的教师列表,列表内有多个数值files[1] 允许评审论文 1 的教师列表files[n-1] 允许评审论文 n−1 的教师列表cost - 二维列表,列表索引 t 表示教师编号 t,列表值表示对应教师编号评审论文的费用
返回一个整数,表示参与教师数量最少时的总费用。
files.length 为 n,files[i] 不为空,其中元素满足 0≤files[i][j]<mcost[t] 取值 >0,0<t<m,累计和不超过出整型值范围输入
3,3,[[0,1],[1,2],[0,2]],[1,2,2]
输出
3
说明
部分教师可以评审多篇论文:
files=[[0,1],[1,2],[0,2]],cost=[1,2,2],min\_cost=3输入
3,3,[[0],[1],[2]],[1,2,3]
输出
6
说明
files=[[0],[1],[2]],每篇论文只有一个教师可选cost=[1,2,3],编号 0,1,2 的教师费用分别为 1,2,3输入
4,5,[[0,3,4],[1,3],[2,4],[0,4]],[1,1,1,3,3]
输出
4
说明
输入:
files=[[0,3,4],[1,3],[2,4],[0,4]]cost=[1,1,1,3,3]覆盖关系:
方案对比:
输出:4
解释:方案 [0,1,2] 用 3 名教师仅花费 3,比 [1,4] 的 4 更便宜,但因教师数量为 3(多于 2)。按“教师最少优先”原则淘汰该法。最终选 2 名教师的方案,在 [1,4] 和 [3,4] 中取费用最小的 4。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册