往期
- 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_0:介绍了题目和背景
- 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_1:题目输入的格式说明,选择了邻接表来表示图
- 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_2:介绍了邻接表,题目输出的格式说明
- 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_3:期主要写一个初代程序,能完整一些简单的例子
ChatGPT还是不行呀
0 评分规则
为了拿分咧,先来看看规则
0.1 评分等级
- 单棵树: 如果是单棵树,得 5 分。
- 满足延迟约束的单棵树: 如果树满足延迟约束,则得 10 分。
- 两棵边不相交的树:如果是两棵边不相交的树,得 20 分。
- 两棵边不相交且其中一棵满足延迟约束的树: 如果是两棵边不相交的树,并且其中一棵满足延迟约束,得40 分。
- 两棵边不相交且都满足延迟约束的树: 如果是两棵边不相交的树,并且两棵都满足延迟约束,得 100 分。
0.2 评分算法
评分算法分为三个步骤:
- 确定最高等级: 首先确定最高的等级 level,即最终提交的解满足的最大条件(如树的数量、延迟约束等)。
- 计算基础分: 计算为达成该等级而获得的无条件分数 x。
- 计算附加分: 根据一个公式来计算附加分。附加分的计算方式是:
- b o n u s = 0.25 ∗ x ∗ ( 1 − s q r t ( 1 − ( b e s t S u m / p a r t i c i p a n t S u m ) ) ) bonus = 0.25 * x * (1 - sqrt(1 - (bestSum / participantSum))) bonus=0.25∗x∗(1−sqrt(1−(bestSum/participantSum)))
- 其中 bestSum 是达成该等级的最小边成本(即最佳解的边成本之和),participantSum 是参与者提交的解的边成本之和。
0.3 解的要求
根据这些评分标准,参与者提交的解需要满足以下要求:
- 图结构必须符合树的特性:即每一对节点之间必须只有一条路径(连通性要求),没有环路(无环性要求)。
- 必须能够从根节点出发,并扩展到所有其他节点(唯一根节点的要求)。
根据这些要求让GPT给出程序,但是随着这个要求过多呀,就只能给出一个看着正确但实际有问题的成程序,如下
import sys
import heapq
from collections import defaultdict
def read_graph_from_stdin():
""" 从标准输入读取图数据并解析 """
lines =

最低0.47元/天 解锁文章
15万+

被折叠的 条评论
为什么被折叠?



