冒險島的魔法果實-多重背包

問題描述

在冒險島的深處,小萌探索到了一個傳說中的魔法果實園。這里滿是各種神奇的魔法果實,吃了可以增加不同的魔法能量。

小萌想帶一些魔法果實回去,但是他的背包空間有限。看著這些琳瑯滿目的魔法果實,小萌很是糾結,決定選擇一些最有價值的果實帶回去。

小萌對果園里的魔法果實進行了整理,他發現每種果實都有一顆或者多顆。他估算了下每種魔法果實能增加的魔法能量,然后開始了篩選工作:小萌有一個最大容量為?W?的背包,果園里總共有?n?種魔法果實,每種果實能增加的魔法能量為?vi?,重量為?wi?,每種魔法果實有?mi??顆。小萌希望在背包不超重的前提下,選擇一些魔法果實裝進背包,使得他們能增加的魔法能量最大。

輸入格式

第一行為一個整數?n?和?W,分別表示魔法果實種數和背包的最大容量。

接下來?n?行每行三個整數?vi?,wi?,mi?,分別表示每種果實能增加的魔法能量,重量,每種魔法果實顆數。

輸出格式

輸出僅一個整數,表示在背包不超重的情況下收集的魔法果實能增加的最大魔法能量。

樣例輸入

2 4
2 3 2
1 2 3

樣例輸出

2

說明

樣例中,最優方案是:

第一種魔法果實?1?個,能量?2。第二種魔法果實?0?個,能量?0。最大能量為?2。

或者,第一種魔法果實?0?個,能量?0。第二種魔法果實?2?個,能量?2。最大能量為?2。

因此,最大魔法能量為?2。

評測數據規模

對于?50% 的評測數據,n≤∑mi?≤104,0≤W≤103。

對于 100% 的評測數據,n≤∑mi?≤105,0≤W≤4×104,1≤n≤100。

運行限制

語言最大運行時間最大運行內存
C++2s128M
C2s128M
Java3s128M
Python34s128M
PyPy34s128M
Go4s128M
JavaScript4s128M

代碼:

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const ll MAX = 4e4 + 4;
const ll INF = 0x3f3f3f3f3f3f3f3f;
ll dp[MAX];
ll w[MAX], v[MAX], s[MAX];
int main()
{ll N, V;cin >> N >> V;for (int i = 1; i <= N; i++){cin >> v[i] >> w[i] >> s[i];}for (int i = 1; i <= N; i++){for (int j = V; j >=0; j--){for (int k = 0; k <= s[i] && k * w[i] <= j; k++){dp[j] = max(dp[j], dp[j - k * w[i]] + k * v[i]);}}}cout << dp[V] << endl;return 0;
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909010.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909010.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

atomicity of memory accesses

文章目錄 atomicity of memory accesses? 正確認識原子性的邊界對于 **Load**&#xff1a;? 正確的原子性邊界是&#xff1a;對于 **Store**&#xff1a;? 正確的原子性邊界是&#xff1a; &#x1f504; 修正原文中的說法&#xff08;對照分析&#xff09;? 原子性邊界最終…

VScode安裝配置PYQT6

開始是準備安裝PYQT5的&#xff0c;但是安裝不下去&#xff0c;就改成安裝PYQT6 一.安裝pyqt5&#xff0c;成功。 c:\PYQT>pip install pyqt5 Defaulting to user installation because normal site-packages is not writeable Collecting pyqt5 Downloading PyQt5-5.15.…

SpringBoot使用oshi獲取服務器相關信息

概念 OSHI是Java的免費基于JNA的&#xff08;本機&#xff09;操作系統和硬件信息庫。它不需要安裝任何其他本機庫&#xff0c;并且旨在提供一種跨平臺的實現來檢索系統信息&#xff0c;例如操作系統版本&#xff0c;進程&#xff0c;內存和CPU使用率&#xff0c;磁盤和分區&a…

Spring Boot 3 集成 MyBatis 連接 MySQL 數據庫

Spring Boot 3 集成 MyBatis 連接 MySQL 數據庫的步驟&#xff1a; 以下是集成 Spring Boot 3、MyBatis、HikariCP 連接池并操作 MySQL 數據庫的完整步驟和代碼&#xff1a; 一、創建 Spring Boot 項目 添加以下依賴&#xff1a; <dependencies><!-- Spring Web --…

基于React + FastAPI + LangChain + 通義千問的智能醫療問答系統

&#x1f4cc; 文章摘要&#xff1a; 本文詳細介紹了如何在前端通過 Fetch 實現與 FastAPI 后端的 流式響應通信&#xff0c;并支持圖文多模態數據上傳。通過構建 multipart/form-data 請求&#xff0c;配合 ReadableStream 實時讀取 AI 回復內容&#xff0c;實現類似 ChatGPT…

YOLOv8 升級之路:主干網絡嵌入 SCINet,優化黑暗環境目標檢測

文章目錄 引言1. 低照度圖像檢測的挑戰1.1 低照度環境對目標檢測的影響1.2 傳統解決方案的局限性2. SCINet網絡原理2.1 SCINet核心思想2.2 網絡架構3. YOLOv8與SCINet的集成方案3.1 總體架構設計3.2 關鍵集成代碼3.3 訓練策略4. 實驗結果與分析4.1 實驗設置4.2 性能對比4.3 可視…

所有的Linux桌面環境

Linux操作系統提供了多種桌面環境&#xff0c;每種都有其獨特的特點和適用場景。以下是一些常見的Linux桌面環境&#xff1a; 輕量級桌面環境 Xfce&#xff1a;廣泛使用的輕量級桌面環境&#xff0c;適合資源有限的設備。Xfce 4.18帶來了性能改進和新功能&#xff0c;如Thuna…

@component、@bean、@Configuration的區別

詳細解析Spring框架中這三個最核心、也最容易混淆的注解&#xff1a;Component、Bean和Configuration。 為了快速理解&#xff0c;我們先看一個總結性的表格&#xff1a; 注解應用級別作用使用場景Component類級別將類標識為Spring組件&#xff0c;讓Spring自動掃描并創建實例…

Android多媒體——音/視同步數據處理(二十)

在多媒體播放過程中,音頻數據的處理不僅要保證其解碼和輸出的連續性,還需要與視頻幀保持時間上的嚴格對齊,以實現良好的觀看體驗。Android 多媒體框架中的 NuPlayerRenderer 是負責最終渲染音視頻數據的核心組件之一。 一、Audio數據處理 NuPlayerRenderer 是 Android 原生…

MYSQL 使用命令mysqldump備份數據庫的時候需要用戶具備什么權限

背景 之前都是使用數據庫root用戶備份數據庫&#xff0c;沒有權限問題&#xff0c;今天使用一個數據庫基本用戶備份數據庫&#xff0c;提示一直沒有權限&#xff0c;提示的很明顯 mysqldump: Error: Access denied; you need (at least one of) the PROCESS privilege(s) for …

WebRTC源碼線程-1

1、概述 本篇主要是簡單介紹WebRTC中的線程&#xff0c;WebRTC源碼對線程做了很多的封裝。 1.1 WebRTC中線程的種類 1.1.1 信令線程 用于與應用層的交互&#xff0c;比如創建offer&#xff0c;answer&#xff0c;candidate等絕大多數的操作 1.1.2 工作線程 負責內部的處理邏輯&…

spring:使用標簽xml靜態工廠方法獲取bean

在spring可以直接通過配置文件獲取bean對象&#xff0c;如果獲取的bean對象還有若干設置&#xff0c;需要自動完成&#xff0c;可以通過工廠方法獲取bean對象。 靜態工廠類&#xff0c;其中InterfaceUserDao和InterfaceUserService都是自定義的接口&#xff0c;可以自己替換。…

linux 用戶態時間性能優化工具perf/strace/gdb/varlind/gprof

1. perf top -g或者top分析卡頓(cpu占用比較高的函數) gdb 是 GNU 調試器,可以用于分析程序的時間性能。雖然 info time 不是直接用于性能分析的命令,但 gdb 提供了與時間相關的功能,例如通過 timer 命令設置計時器或通過 info proc 查看進程的時間信息。 #include <…

客戶端和服務器已成功建立 TCP 連接【輸出解析】

文章目錄 圖片**1. 連接狀態解析****第一條記錄&#xff08;服務器監聽&#xff09;****第二條記錄&#xff08;客戶端 → 服務器&#xff09;****第三條記錄&#xff08;服務器 → 客戶端&#xff09;** **2. 關鍵概念澄清****(1) 0.0.0.0 的含義****(2) 端口號的分配規則** *…

Win系統下的Linux系統——WSL 使用手冊

我們在復現一些項目的時候&#xff0c;有些依賴包只能在 linux 環境下使用&#xff0c;還不打算使用遠程服務器&#xff0c;那么此時我們可以使用 WSL 創建一個 ubutu 系統&#xff0c;在這個系統里創建虛擬環境、下載依賴包。然后&#xff0c;我們就可以在 windows 下的 vscod…

電腦同時連接內網和外網的方法,附外網連接局域網的操作設置

對于工作一般都設置在內網網段中&#xff0c;而同時由于需求需要連接外網&#xff0c;一般只能通過內網和外網的不斷切換進行設置&#xff0c;如果可以同時連接內網和外網會更加便利&#xff0c;同時連接內網和外網方法具體如下。 一、電腦怎么弄可以同時連接內網和外網&#…

C++11:原子操作與內存順序:從理論到實踐的無鎖并發實現

文章目錄 0.簡介1.并發編程需要保證的特性2.原子操作2.1 原子操作的特性 3.內存順序3.1 順序一致性3.2 釋放-獲取&#xff08;Release-Acquire)3.3 寬松順序&#xff08;Relaxed)3.4 內存順序 4.無鎖并發5. 使用建議 0.簡介 在并發編程中&#xff0c;原子性、可見性和有序性是…

oracle 歸檔日志與RECOVERY_FILE_DEST 視圖

1. RECOVERY_FILE_DEST 視圖的作用 RECOVERY_FILE_DEST 是 Oracle 數據庫用于 管理快速恢復區&#xff08;Fast Recovery Area, FRA&#xff09; 的一個視圖。FRA 是 Oracle 提供的一種集中存儲恢復相關文件&#xff08;如歸檔日志、備份文件、閃回日志等&#xff09;的區域。…

零基礎玩轉物聯網-串口轉以太網模塊如何快速實現與MQTT服務器通信

目錄 1 前言 2 環境搭建 2.1 硬件準備 2.2 軟件準備 2.3 驅動檢查 3 MQTT服務器通信配置與交互 3.1 硬件連接 3.2 開啟MQTT服務器 3.3 打開配置工具讀取基本信息 3.4 填寫連接參數進行連接 3.5 通信測試 4 總結 1 前言 MQTT&#xff1a;全稱為消息隊列遙測傳輸協議&#xff08;…

六、Sqoop 導出

作者&#xff1a;IvanCodes 日期&#xff1a;2025年6月7日 專欄&#xff1a;Sqoop教程 Apache Sqoop 不僅擅長從關系型數據庫 (RDBMS) 向 Hadoop (HDFS, Hive, HBase) 導入數據&#xff0c;同樣也強大地支持反向操作——將存儲在 Hadoop 中的數據導出 (Export) 回關系型數據庫。…