我有一计


私信TA

用户名:cjb1212

访问量:2817

签 名:

我始终相信越努力越幸运

等  级
排  名 475
经  验 4700
参赛次数 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 人评分

  评论区

  • «
  • »