首页 / 客观题库

70188 - 2025挑战赛Py提高组完善2

题目(材料题)

扩充最小生成树  给定n个节点一个树,树的每条边有权值。把这个树扩充成完全图,使得完全图的最小生成树一定是原来的树。求扩充的边的权值总和的最小值。

试补全程序:

 

01 def main():

02     import sys

03     input = sys.stdin.read

04     data = input().split()

05    

06     idx = 0

07     n = int(data[idx])

08     idx += 1

09    

10     edges = []

11     for _ in range(n - 1):

12         u = int(data[idx])

13         v = int(data[idx + 1])

14         val = int(data[idx + 2])

15         edges.append((u, v, val))

16         idx += 3

17    

18     edges.sort(key= ① )

19    

20     group = [i for i in range(n + 1)]

21     cnt = [1] * (n + 1)

22     ans = 0

23    

24     for u, v, val in edges:

25         x = find(u, group)

26         y = find(v, group)

27          ②

28         cnt[y] += cnt[x]

29          ③

30    

31     print(ans)

32

33 def find(x, group):

34     if ④ :

35        ⑤

36     return group[x]

37

38 if __name__ == "__main__":

39     main()

 

||
( 单选 )

① 处应填(      )。 

A lambda x: 1 : x[2]

B lambda x: x[1]

C lambda x: x[2]

D lambda x[2]

( 单选 )

② 处应填(      )。 

A ans += (cnt[x] * cnt[y] - 1) * (val + 1)

B ans = (cnt[x] * cnt[y] - 1) * (val + 1)

C ans += (cnt[x] * cnt[y] - 1) * (val - 1)

D ans = (cnt[x] * cnt[y] - 1) * (val + 1)

( 单选 )

③ 处应填(      )

A group[x] = y

B x = y

C group[x] += y

D group[x] -= y

( 单选 )

group[x] -= y

A x = group[x]

B x != group[x]

C x == group[x]

D x += group[x]

( 单选 )

⑤ 处应填(      )。

A x = find(group[x], group)

B find(group[x], group) = group[x]

C find(group[x], group) = x

D group[x] = find(group[x], group)

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36