头歌03- 01背包

"""

题目:有n个重量分别为w={w_1,w_2,…,w_n}的物品,他们的价值分别为v={v_1,v_2,…,v_n},给定一个容量为V的背包。

设计从这些物品中选取一部分物品放入该背包的方案,每个物品要么选中要么不选中,要求选中的物品不仅能够放到背包中,并且背包内物品的总价值达到最大。

输入格式

第一行输入两个整数n、G,其中n表示物品的数量,G表示背包的容量体积。

第二行输入n个整数,整数间以空格分隔,表示n个物品的重量w_i

第三行输入n个整数,整数间以空格分隔,表示n个物品的价值v_i

输出格式

一个实数,表示能携带物品的最大价值。

输入样例

5 13

3 4 4 5 10

2 9 9 10 24

输出样例

28

"""


def knapsack(n, G, weights, values):dp = [0 for _ in range(G + 1)]for i in range(n):for j in range(G, weights[i] - 1, -1):dp[j] = max(dp[j], dp[j - weights[i]] + values[i])return dp[G]# 输入
n, G = map(int, input().split())
weights = list(map(int, input().split()))
values = list(map(int, input().split()))# 计算并输出最大价值
print(knapsack(n, G, weights, values))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轻松上手ClickHouse:ClickHouse入门

引言 在数字化时代,大数据处理和分析已经成为了各行各业不可或缺的一环。而ClickHouse,作为一款高性能的列式数据库管理系统,以其卓越的查询性能和灵活的扩展性,赢得了众多企业和开发者的青睐。本文将带领大家走进ClickHouse的世…

CCF-GESP 等级考试 2023年12月认证C++一级真题

2023年12月真题 一、单选题(每题2分,共30分) 第 1 题 以下C不可以作为变量的名称的是( )。 A. CCF GESPB. ccfGESPC. CCFgespD. CCF_GESP 第 2 题 C表达式10 - 3 * (2 1) % 10的值是( )。 A. 0B. 1C. 2D. 3 第 3 题 假设现在是上午⼗点&…

Python基础学习笔记(四)——运算符

目录 算术运算符1. 四则运算2. 整除3. 取模4. 求幂 赋值运算符1. 链式赋值2. 参数赋值3. 系列解包赋值 关系运算符身份运算符成员运算符逻辑运算符位运算符1. 按位运算2. 移位运算 优先级 算术运算符 1. 四则运算 # 加减乘除:除法结果为浮点数 print(12, 1-2, 1*2, 2/1)3 -1 …

Kubernetes常用命令

目录 一.资源管理办法 1.陈述式资源管理方法 (1)kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 (2)kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在…

VC++学习(3)——认识MFC框架,新建项目,添加按钮

目录 引出第三讲 MFC框架新建项目Windows搜索【包含内容的搜索】如何加按钮添加成员变量添加成功 添加按钮2杂项 总结 引出 VC学习(3)——认识MFC框架,新建项目,添加按钮 MFC(Microsoft Foundation Classes),是微软公…

零基础小白撸空投攻略:空投流程是什么样的? 如何操作?

在Web3的世界中,空投(Airdrop)是一种常见的营销和推广策略,通过向特定用户群体免费分发代币,项目方希望能够吸引更多的用户和关注。对于许多刚刚接触加密货币和区块链的新手来说,都会疑惑空投的流程究竟是什…

AI - GPT-4o是什么?

一、定义: GPT-4o是OpenAI推出的最新旗舰级人工智能模型,它是GPT系列的一个重要升级,其中的"o"代表"Omni",中文意思是“全能”,凸显了其多功能特性。该模型被设计为能够实时对音频、视觉和文本进…

Java-JavaQAList

一、Java基础 解释下什么是面向对象?面向对象和面向过程的区别?面向对象的三大特性?分别解释下?JDK、JRE、JVM 三者之间的关系?重载和重写的区别?Java 中是否可以重写一个 private 或者 static 方法&#…

LeetCode-Pow(x, n)【递归 数学】

[TOC](LeetCode-Pow(x, n)【递归 数学】) 题目描述: 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2&#xf…

HTML | 在IDEA中配置Tomcat时遇到的一些问题的解决办法

目录 IDEA中没有web文件夹目录 Tomcat在哪里配置服务器 IDEA中没有web文件夹目录 首先说在IDEA中没有web这个文件夹的解决办法 在菜单栏中帮助中点击查找操作搜索添加框架支持(因为我的IDEA会出现无法点击这个操作,所以我对该操作添加了快捷键&#xf…

聊聊 JSON Web Token (JWT) 和 jwcrypto 的使用

哈喽大家好,我是咸鱼。 最近写的一个 Python 项目用到了 jwcrypto 这个库,这个库是专门用来处理 JWT 的,JWT 全称是 JSON Web Token ,JSON 格式的 Token。 今天就来简单入门一下 JWT。 官方介绍:https://jwt.io/intr…

邮件系统中的CC和BCC含义

一、背景 我们在发邮件时,有时会看到或用到CC和BCC相关的功能,下面简要介绍一下。 二、CC CC:Carbon Copy,也就是抄送,是一种电子邮件发送方式。 三、BCC BCC:Blind Carbon Copy,也就是密件…

谓词逻辑(一)

一、句子的谓词符号化 谓词逻辑,也叫一阶逻辑,它对每个最简单的命题尽一步进行分解。 1个体词:可以独立存在的客体。 2谓词:描述一个个体词的属性或多个个体词之间的关系(可用一元函数和多元函数来理解)…

【内存泄漏Bug】animation未释放

问题描述 一个页面做了动画特效,这个页面有可能跳转到其他页面,并长时间不返回,该页面此时已经不活跃了,该页面的对象为无用对象,存在内存泄漏风险 问题分析 这个activity的特性是 1. 有可能跳转到其他页面 2. 有可…

【qt】QListWidget 组件

QListWidget 组件 一.QListWidget的用途二.界面设计三.QListWidget的添加1.界面添加2.代码添加 四.列表项的设置1.文本2.图标3.复选框4.列表大小 五.字体和图标的设置1.字体:2.图标: 六.设置显示模式1.图标2.列表 七.其他功能实现1.删除2.全选3.反选4.ad…

清空了电脑回收站,之前的文件还能否恢复?

电脑已成为我们日常生活中不可或缺的一部分。我们在电脑上处理文档、保存图片、下载视频等,而电脑中的回收站则成为我们处理不再需要文件的一个便捷工具,当我们想要删除某些文档的话,它并不是立即从硬盘上消失,而是被系统移动到了…

【堡垒机小知识】堡垒机资产监控能监控哪些东西呢?

堡垒机,重要的网络安全工具,其资产监控功能在保障系统稳定运行、防范潜在风险方面发挥着至关重要的作用。但不少小伙伴对于监控内容不清楚,这里我们就来一起简单看看,仅供参考~ 堡垒机资产监控能监控哪些东西呢? 【…

js——数据操作——实现阶梯价格排序——基础积累

最近在写网络报价的时候,遇到一个需求,就是要根据采购数量,找到符合数量的阶梯区间,并找到最便宜的采购价格。 比如下面: let originViewList [{id:1,incrementalQuantity:10,priceList:[{minQuantity:1,price:20},…

Linux —— 线程同步

Linux —— 线程同步 死锁线程同步条件变量pthread_cond_waitpthread_cond_signal初始状态为什么之后会“阻塞”如何修改以持续运行 pthread_cond_broadcast 条件变量的接口抢票模拟 我们今天接着来了解线程: 死锁 死锁(Deadlock)是计算机科…

基础编程函数题

1.简单输出整数&#xff1a;本题要求实现一个函数&#xff0c;对给定的正整数N&#xff0c;打印从1到N的全部正整数。 #include <stdio.h> void PrintN ( int N ); int main () { int N; scanf("%d", &N); PrintN( N ); return 0; } void Prin…