当前位置: 首页 > news >正文

2024蓝桥杯每日一题(背包)

备战2024年蓝桥杯 -- 每日一题
Python大学A组

        试题一:货币系统
        试题二:01背包问题
        试题三:完全背包问题


试题一:货币系统

【题目描述】

        给定 V 种货币(单位:元),每种货币使用的次数不限。不同种类的货币,面值可能是相同的。现在,要你用这 V 种货币凑出 N 元钱,请问共有多少种不同的凑法。

【输入格式】

        第一行包含两个整数 V 和 N。

        接下来的若干行,将一共输入 V 个整数,每个整数表示一种货币的面值。

【输出格式】

        输出一个整数,表示所求总方案数。

【数据范围】

        1≤V≤251,
        1≤N≤10000
        答案保证在long long范围内。

【输入样例】

3 10
1 2 5

【输出样例】

10

【解题思路】

        模板题

【Python程序代码】

v,n = map(int,input().split())
f = [0]*(n+10)
a = [0] + list(map(int,input().split()))
f[0]=1
for i in range(1,v+1):for j in range(a[i],n+1):f[j] += f[j-a[i]]
print(f[n])

试题二:01背包问题

【题目描述】
        有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

【输入格式】

        第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。

        接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。

【输出格式】

        输出一个整数,表示最大价值。

【数据范围】

        0<N,V≤1000
        0<vi,wi≤1000

【输入样例】

4 5
1 2
2 4
3 4
4 5

【输出样例】

8

【解题思路】

        模板题

【Python程序代码】

n,V = map(int,input().split())
a = []
for i in range(n):a.append(list(map(int,input().split())))
f = [0]*(V+10)
for v,w in a:for j in range(V,0,-1):if j>=v:f[j] = max(f[j], f[j-v]+w)
print(f[V])

试题三:完全背包问题

【题目描述】

        有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 v,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

【输入格式】

        第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。

        接下来有 N行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。

【输出格式】

        输出一个整数,表示最大价值。

【数据范围】

        0<N,V≤1000
        0<vi,wi≤1000

【输入样例】

4 5
1 2
2 4
3 4
4 5

【输出样例】

10

【解题思路】

        模板题

【Python程序代码】

n,V = map(int,input().split())
a = []
for i in range(n):a.append(list(map(int,input().split())))
f = [0]*(V+10)
for v,w in a:for j in range(v,V+1):f[j] = max(f[j],f[j-v]+w)
print(f[V])

相关文章:

  • 通过多选按钮选择需要修改什么字段
  • 【Django学习笔记(一)】HTML语言简介和基于Flask Web框架快速搭建网站
  • 学习java第二十六天
  • react-navigation:
  • 华为鸿蒙系统:重塑智能生态,引领科技未来新篇章
  • 使用PaddleX实现的智慧农业病虫检测项目
  • 2024 蓝桥打卡Day25
  • Java开发过程中如何进行进制换换
  • Python批量提取pdf首页并合并为一个文件
  • 厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能原理篇
  • Windows运维_Windows下配置Apache-Haus(Apache2.4)
  • 在 Windows 11 上安装 MongoDB
  • Redis中的客户端(三)
  • 自动化更新包文件--shell脚本
  • 吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5
  • Angular2开发踩坑系列-生产环境编译
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS实用技巧干货
  • C学习-枚举(九)
  • Effective Java 笔记(一)
  • es6要点
  • ES6语法详解(一)
  • GraphQL学习过程应该是这样的
  • leetcode386. Lexicographical Numbers
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • mockjs让前端开发独立于后端
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Rancher-k8s加速安装文档
  • React-redux的原理以及使用
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue小说阅读器(仿追书神器)
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 回顾 Swift 多平台移植进度 #2
  • 少走弯路,给Java 1~5 年程序员的建议
  • 深度学习中的信息论知识详解
  • 我与Jetbrains的这些年
  • 用 Swift 编写面向协议的视图
  • 在Unity中实现一个简单的消息管理器
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • zabbix3.2监控linux磁盘IO
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ###项目技术发展史
  • #FPGA(基础知识)
  • #include<初见C语言之指针(5)>
  • #pragma multi_compile #pragma shader_feature
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (六)软件测试分工
  • (三)mysql_MYSQL(三)
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (一)WLAN定义和基本架构转
  • (转)关于多人操作数据的处理策略
  • .Mobi域名介绍
  • .net Application的目录