我有一计


私信TA

用户名:cjb1212

访问量:2539

签 名:

我始终相信越努力越幸运

等  级
排  名 448
经  验 4668
参赛次数 9
文章发表 10
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:01背包问题,利用动态规划思想,创建三个一维数组w[i],v[i],dp[i],分别用来存总价值=重要度*价格,价格,最大价值。

注意事项:

参考代码:

n,m=map(int,input().split())

w=[]

v=[]

dp=[0]*(n+1)

for i in range(m):

    a,b=map(int,input().split())

    w.append(a*b)

    v.append(a)

for i in range(m):

    for j in range(n,v[i]-1,-1):

        dp[j]=max(dp[j],dp[j-v[i]]+w[i])

print(max(dp))

    


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区