0-1背包问题Python 蓝桥杯备战倒计时96天

Posted Py小郑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0-1背包问题Python 蓝桥杯备战倒计时96天相关的知识,希望对你有一定的参考价值。

代码是自己写的 例题没有 所以输入格式上会有局限 可自行改动

#0-1背包问题
N,W=map(int,input().strip().split())#石头个数,背包限重
V=list(map(int,input().split()))#石头价值
V.insert(0,0)
w=list(map(int,input().split()))#石头价值
w.insert(0,0)

#石头重量
dp=[[0]*(N+1) for _ in range(W+1)]#dp[i][j]代表容量为i时 前j个石头的最大价值
for j in range(1,N+1):
    for i in range(0,W+1):
        if w[j]>i:
            dp[i][j]=dp[i][j-1]
        else:
            dp[i][j]=max(dp[i][j-1],dp[i-w[j]][j-1]+V[j])
print(dp[W][N])

分享我学习的过程,看某站上的视频,模仿他以列表的形式来完整表格,一边发现规律一边写,最后总结,发现总结一致,然后自己根据自己列的表就去写代码了 

2022一起加油鸭!这点困难难不倒我~

以上是关于0-1背包问题Python 蓝桥杯备战倒计时96天的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯省赛备战倒数30天-基础常用知识

蓝桥杯真题18天Python组冲刺 心得总结

40天如何备战2022Java蓝桥杯国赛

蓝桥杯刷题冲刺 | 倒计时9天

蓝桥杯刷题冲刺 | 倒计时16天

蓝桥杯刷题冲刺 | 倒计时8天