网易首页 > 网易号 > 正文 申请入驻

2024-03-20:用go语言,自 01背包问世之后,小 A 对此深感兴趣。

0
分享至

2024-03-20:用go语言,自 01背包问世之后,小 A 对此深感兴趣。

一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组。

每组中的物品只能选择1件,现在他想知道最大的利用价值是多少?

答案2024-03-20:

来自左程云。

灵捷3.5

大体步骤如下:

1.定义常量 MAXN 和 MAXM,分别表示物品数量和背包容量的最大值。

2.声明一个二维数组 arr 用于存储物品的重量、价值和组别信息。

3.声明一个一维数组 dp 用于记录每个容量下的最大利用价值。

4.获取输入信息,包括背包容量 m 和物品数量 n。

5.遍历n次,将物品的重量、价值和组别信息存入二维数组 arr。

6.根据物品的组别信息对二维数组 arr 进行排序。

7.初始化数组 dp,将所有元素设置为0。

8.使用动态规划算法计算最大利用价值。遍历每个组别的物品,对于每个容量 r,遍历当前组别的物品,如果容量 r 大于等于物品的重量,则更新 dp[r] 为当前物品的价值加上 dp[r-物品重量] 的最大值。

9.返回 dp[m],即背包容量为 m 时的最大利用价值。

10.打印结果。

总的时间复杂度是 O(nmlog(n)),其中 n 是物品数量,m 是背包容量。这是因为需要对二维数组 arr 进行排序,排序的时间复杂度是 O(nlog(n)),而计算最大利用价值的动态规划算法的时间复杂度是 O(nm)。

总的额外空间复杂度是 O(n),其中 n 是物品数量。这是因为需要使用数组 dp 来记录每个容量下的最大利用价值。

go完整代码如下:

packagemain
import(
"fmt"
"sort"
)
constMAXN=1001
constMAXM=1001
vararr=[MAXN][3]int{}
vardp=[MAXM]int{}
varm,nint
funccompute()int{
forstart,end:=0,1;startforendend++
}
forr:=m;r>=0;r--{
fori:=start;iifr>=arr[i][0]{
dp[r]=max(dp[r],arr[i][1]+dp[r-arr[i][0]])
}
}
}
start=end
end++
}
returndp[m]
}
funcmax(a,bint)int{
ifa>b{
returna
}
returnb
}
funcmain(){
inputs:=[]int{45,3,
10,10,1,
10,5,1,
50,400,2}
ii:=0
m=inputs[ii]
ii++
n=inputs[ii]
ii++
fori:=0;iarr[i][0]=inputs[ii]
ii++
arr[i][1]=inputs[ii]
ii++
arr[i][2]=inputs[ii]
ii++
}
sort.Slice(arr[:n],func(i,jint)bool{
returnarr[i][2]})
fori:=0;i<=m;i++{
dp[i]=0
}
fmt.Println(compute())
}



python完整代码如下:

#-*-coding:utf-8-*-
MAXN=1001
MAXM=1001
arr=[[0]*3for_inrange(MAXN)]
dp=[0]*MAXM
m,n=0,0
defcompute():
start=0
whilestartend=start+1
whileendend+=1
forrinrange(m,-1,-1):
foriinrange(start,end):
ifr>=arr[i][0]:
dp[r]=max(dp[r],arr[i][1]+dp[r-arr[i][0]])
start=end
returndp[m]
defmax(a,b):
returnaifa>belseb
inputs=[45,3,
10,10,1,
10,5,1,
50,400,2]
ii=0
m=inputs[ii]
ii+=1
n=inputs[ii]
ii+=1
foriinrange(n):
arr[i][0]=inputs[ii]
ii+=1
arr[i][1]=inputs[ii]
ii+=1
arr[i][2]=inputs[ii]
ii+=1
arr=arr[:n]
arr.sort(key=lambdax:x[2])
foriinrange(m+1):
dp[i]=0
print(compute())



声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
章泽天现身牛津大学图书馆,手上两枚巨型钻戒,头顶白发清晰可见

章泽天现身牛津大学图书馆,手上两枚巨型钻戒,头顶白发清晰可见

元气少女侃娱乐
2024-06-04 16:38:54
美方宣布对中央政府和香港特区政府官员实施新的签证限制 外交部回应

美方宣布对中央政府和香港特区政府官员实施新的签证限制 外交部回应

人民资讯
2024-06-03 20:09:57
普京警告美方

普京警告美方

新京报
2024-06-03 22:53:14
警报拉响,俄军轰炸法军驻地!北约要动手了?这场精心布局已开始

警报拉响,俄军轰炸法军驻地!北约要动手了?这场精心布局已开始

谈与讨
2024-06-05 00:13:06
懂车帝比亚迪秦L能耗实测,亏电油耗4.09L/100km,到底谁在撒谎?

懂车帝比亚迪秦L能耗实测,亏电油耗4.09L/100km,到底谁在撒谎?

户外小阿隋
2024-06-04 11:29:48
国资巨头,重组!全国合并重组大戏拉开!

国资巨头,重组!全国合并重组大戏拉开!

环球通信
2024-06-04 12:13:51
6月4日,李荣浩杨丞琳,凌晨零点同时发文!

6月4日,李荣浩杨丞琳,凌晨零点同时发文!

我是晚伯伯
2024-06-04 12:52:38
男人无能一看便知:没出息的男人,离不开这三句话

男人无能一看便知:没出息的男人,离不开这三句话

塔塔侃测评
2024-06-03 09:55:53
彭加木失踪背后的真相:在罗布泊深处遭遇未知生物的诡异事件

彭加木失踪背后的真相:在罗布泊深处遭遇未知生物的诡异事件

真实异闻
2024-05-26 21:05:24
困境反转:隆基绿能、通威股份、TCL中环、特变电工、含金量谁高

困境反转:隆基绿能、通威股份、TCL中环、特变电工、含金量谁高

长风价值掘金
2024-06-04 20:25:17
中国男网创纪录!张之臻轰2-0大胜,首进法网8强,斩获156万奖金

中国男网创纪录!张之臻轰2-0大胜,首进法网8强,斩获156万奖金

小李子爱体育
2024-06-05 03:30:19
乌克兰战斗到最后一个人,值不值得,乌克兰人最有发言权

乌克兰战斗到最后一个人,值不值得,乌克兰人最有发言权

山河路口
2024-06-03 23:04:06
AA制婚姻两年,丈夫下班见妻子吃鱼,母亲吃剩菜,妻子:她钱不够

AA制婚姻两年,丈夫下班见妻子吃鱼,母亲吃剩菜,妻子:她钱不够

星辰故事屋
2024-06-04 17:25:43
当普通人都感觉经济很难的时候,其实经济危机早就全面爆发了

当普通人都感觉经济很难的时候,其实经济危机早就全面爆发了

芯怡飞
2024-06-01 14:19:03
12个国家“授权”可以攻击俄罗斯本土!国防大学教授的灵魂拷问

12个国家“授权”可以攻击俄罗斯本土!国防大学教授的灵魂拷问

深度知局
2024-05-31 17:48:38
又被打脸?嫦娥六号拍到月球上繁星满天,打脸美国登月没有星星!

又被打脸?嫦娥六号拍到月球上繁星满天,打脸美国登月没有星星!

三农老历
2024-06-05 05:01:36
俄式战舰改装真费劲:5850吨的052B型,改完战力不如054AG

俄式战舰改装真费劲:5850吨的052B型,改完战力不如054AG

乐阳聊军事
2024-06-04 00:13:30
为他人提供手淫,构成卖淫吗

为他人提供手淫,构成卖淫吗

刑事黎律
2024-05-30 07:00:08
36岁,社区打电话催生三胎,我答:没空生,对方一句话差点气死我

36岁,社区打电话催生三胎,我答:没空生,对方一句话差点气死我

婉秋聊育儿
2024-06-03 11:16:04
终于理解为什么手机要换苹果了,内行人懂的原因,让人无法反驳!

终于理解为什么手机要换苹果了,内行人懂的原因,让人无法反驳!

奇奇怪怪的冒险
2024-05-24 07:10:07
2024-06-05 06:00:49
moonfdd
moonfdd
福大大架构师每日一题
411文章数 7关注度
往期回顾 全部

科技要闻

斯坦福团队抄袭国产大模型后道歉 承诺撤下

头条要闻

5岁女童在机构练舞蹈摔倒致高位截瘫:只拿到20万赔偿

头条要闻

5岁女童在机构练舞蹈摔倒致高位截瘫:只拿到20万赔偿

体育要闻

从英国联赛到NBA,两个美国人相爱相杀

娱乐要闻

杨幂留言为热巴庆生,姐妹情深惹人羡

财经要闻

卷走53亿 浙江富豪全家跑路了

汽车要闻

2.0T+云辇-P+天神之眼 方程豹豹8还配软包内装

态度原创

亲子
教育
游戏
健康
军事航空

亲子要闻

聪明的宝宝,还知道试试水!

教育要闻

“好孩子是夸出来的,但不能盲目夸”别再只说“你真棒”!否则会被认为小儿科

《铸造厂》EA评测:教科书般的……同质化体验?"/> 主站 商城 论坛 自运营 登录 注册 《铸造厂》EA评测:教科书般的……同质化体验? 海星罐头 2...

晚餐不吃or吃七分饱,哪种更减肥?

军事要闻

俄车臣特种部队已转至哈尔科夫 指挥官:进入决战阶段

无障碍浏览 进入关怀版