首页 / 客观题库

70146 - 2025挑战赛Py入门组完善程序2

题目(材料题)

石子合并  有N堆石子排成一排,每堆石子有一定的数量。现在要将这些石子合并成一堆,每次只能合并相邻的两堆石子,合并的代价是这两堆石子的数量之和。问将所有石子合并成一堆的最小总代价是多少?

试补全程序:

 

01 import sys

02

03 def min_merge_cost(stones):

04     n = len(stones)

05     prefix = [0] * (n + 1)

06     for i in range(1, n+1):

07           ①   

08    

09     dp = [[0] * n for _ in range(n)]

10    

11     for length in range(2, n+1):

12         for i in range(n - length + 1):

13                 ②   

14                 ③   

15             for k in range(i, j):

16                 cost =    ④    

17                 if cost < dp[i][j]:

18                     dp[i][j] = cost

19     return    ⑤    

20

21 n = int(input())

22 stones = list(map(int, input().split()))

23 print(min_merge_cost(stones))

||
( 单选 )

① 处应填(      )。

A prefix[i] = stones[i-1]

B prefix[i] = prefix[i] + stones[i-1]

C prefix[i] = prefix[i] + stones[i-1]

D prefix[i] = dp[i][i] + stones[i-1]

( 单选 )

② 处应填(      )

A j = n

B j = i + length

C j = i + length – 1

D j = k + 1

( 单选 )

③ 处应填(      )

A 0

B length

C sys.maxsize

D prefix[j]

( 单选 )

④ 处应填(      )

A dp[i][k] + dp[j][k]

B stones[i] + stones[j]

C dp[i][k] + dp[k+1][j] + prefix[j+1] - prefix[i]

D prefix[j] + prefix[i]

( 单选 )

⑤ 处应填(      )

A dp[0][n]

B dp[1][1]

C dp[0][n-1]

D dp[n-1][n-1]

意见反馈

    最多上传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