01背包與完全背包學習總結

背包問題分類見下圖

參考學習點擊:代碼隨想錄01背包講解

01背包問題:

核心思路:

1、先遍歷物品個數,再遍歷背包容量。因為容量最先是最大的,往背包里放物品,所以背包容量在慢慢減少,但背包容量需要大于每一個物品體積

2、每個物品有2個選擇:選中和不選中。

3、選中的結果是背包剩余容量的最大價值+選中物品的價值;

4、不選中的結果是背包剩余容量還是不變,最大價值還是背包剩余容量的最大價值

 public static void main(String[] args) {int[] weight = {1, 3, 4};  //每個物品體積int[] value = {15, 20, 30}; // 每個物品價值int bagWight = 4;            // 背包容量testWeightBagProblem(weight, value, bagWight);}public static void testWeightBagProblem(int[] weight, int[] value, int bagWeight){//定義dp數組:dp[j]表示背包容量為j時,能獲得的最大價值int[] dp = new int[bagWeight + 1];//背包容量來定義dp數組for (int i = 0; i < weight.length; i++){ //先遍歷物品for (int j = bagWeight; j >= weight[i]; j--){ //再遍歷背包,背包容量是從最大一直慢慢減少          //每個物品有2種選擇,選中與不選中:選中的話,背包價值=背包容量剩余物品的價值在加上選中物品的價值//不選中的話,背包價值=背包容量j的價值dp[j] = Math.max(dp[j], dp[j - weight[i]] + value[i]);}}//打印dp數組for (int j = 0; j <= bagWeight; j++){System.out.print(dp[j] + " ");}}

完全背包問題:

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

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

相關文章

CentOS7 firewall使用(開放和禁止端口、端口轉發)

安裝 安裝命令 yum install firewalld -y 使用命令 systemctl start firewalld ##開啟防火墻systemctl stop firewalld ##關閉防火墻systemctl status firewalld ##查看防火墻狀態firewall-cmd --reload ##重啟防火墻systemctl enable firewalld ##設置開啟啟動systemctl …

共享內存原理介紹及簡單使用

每當我們執行一個程序時&#xff0c;對于操作系統來講就創建了一個進程,在這個過程中&#xff0c;伴隨著資源的分配和釋放。可以認為進程是一個程序的一次執行過程。進程的內存空間是相互獨立的&#xff0c;一般而言是不能相互訪問的。但很多情況下進程間需要互相通信&#xff…

上海泗博MODBUS轉PROFINET網關TS-180 網關連接LED顯示屏應用案例

項目 常州某鋼鐵公司的軋鋼車間為了更清晰地顯示當天軋鋼系統各環節的工作參數&#xff0c;如軋鋼的日期、鋼種、吐絲機設備運行情況等&#xff0c;引進了另一家為其定制的LED顯示屏。軋鋼系統各環節的設備參數通過西門子S7-1500PLC采集后&#xff0c;實時顯示在LED顯示屏上&am…

飛瓜數據B站丨B站UP主11月第3周榜單排行榜榜單(B站平臺)發布!

飛瓜輕數發布2023年11月13日-11月19日飛瓜數據UP主排行榜&#xff08;B站平臺&#xff09;&#xff0c;通過充電數、漲粉數、成長指數、帶貨數據等維度來體現UP主賬號成長的情況&#xff0c;為用戶提供B站號綜合價值的數據參考&#xff0c;根據UP主成長情況用戶能夠快速找到運營…

Linux網絡——傳輸層

目錄 一.再談端口概念 二.UDP協議 1.UDP協議格式 2.UDP的特點 3.面向數據報 4.UDP的緩沖區 5.UDP使用注意事項 6.UDP協議在內核中的表現形式 7.基于UDP的應用層協議 三.TCP協議 1.TCP協議格式 2.TCP確認應答機制 3.超時重傳機制 4.TCP報文六位標志位 5.滑動窗口 6…

制作抖音查券返利機器人的簡易步驟

制作抖音查券返利機器人的簡易步驟 隨著社交電商的快速發展&#xff0c;越來越多的消費者開始通過優惠券和返利來省錢購物。而抖音作為一款廣受歡迎的短視頻平臺&#xff0c;也為消費者提供了一個全新的購物體驗。本文將結合微賺淘客系統&#xff0c;介紹如何制作一個簡易的抖…

Web3與Web3.0: Web3指的是去中心化和基于區塊鏈的網絡,Web3.0指的是鏈接或語義網絡。

目錄 Web3與Web3.0: Web3指的是去中心化和基于區塊鏈的網絡 Web3.0指的是鏈接或語義網絡。

Flutter開發實踐:用一套代碼構建多端精美應用

&#x1f3c6;作者簡介&#xff0c;黑夜開發者&#xff0c;CSDN領軍人物&#xff0c;全棧領域優質創作者?&#xff0c;CSDN博客專家&#xff0c;阿里云社區專家博主&#xff0c;2023年6月CSDN上海賽道top4。 &#x1f3c6;數年電商行業從業經驗&#xff0c;歷任核心研發工程師…

Python下使用requests庫遇到的問題及解決方案

每一盞燈都有一個故事……當凌晨2點我的房間燈還亮著時&#xff0c;那就是我與BUG的一場生死博弈。一個人靜靜地坐在電腦前不斷地寫代碼&#xff0c;感覺快要麻木了&#xff0c;好比閉關修煉一樣枯燥無味。最終當我打通任督二脈后&#xff0c;bug修復迎來的一片曙光。 一、問題…

clang+llvm多進程gdb調試

clangllvm多進程gdb調試 前言1. 命令行gdb2. 父進程調試3. 子進程調試4. 返回父進程 前言 在學習新增llvm的優化pass時&#xff0c;需要跟蹤clang及llvm的調用棧。然而llvm通過posix_spawn()創建了新進程&#xff0c;這使得gdb調試必須有一定的技巧了。 1. 命令行gdb 以下命…

函數式編程-Stream流筆記-三更草堂

函數式編程-Stream流 1. 概述 1.1 為什么學&#xff1f; 能夠看懂公司里的代碼 大數量下處理集合效率高 代碼可讀性高 消滅嵌套地獄 //查詢未成年作家的評分在70以上的書籍 由于數據中作家和書籍可能出現重復&#xff0c;需要進行去重 List<Book> bookList new Ar…

4G5G智能執法記錄儀在保險公司車輛保險遠程定損中的應用

4G智能執法記錄儀&#xff1a;汽車保險定損的**利器 隨著科技的不斷進步&#xff0c;越來越多的智能設備應用到日常生活中。而在車輛保險定損領域&#xff0c;4G智能執法記錄儀的出現無疑是一大**。它不僅可以實現遠程定損&#xff0c;還能實現可視化操作、打印保單以及數據融…

WCF Demo

1.WCF概述 WCF是用于構建分布式應用程序和服務的框架。它提供了用于創建和管理分布式系統的工具和庫&#xff0c;支持多種通信協議和傳輸方式&#xff0c;如HTTP、TCP、Named Pipes等。WCF基于服務的概念&#xff0c;允許開發人員定義服務契約、實現服務邏輯&#xff0c;并通過…

給定一個非嚴格遞增排列的有序數組,刪除數組中的重復項

實例要求&#xff1a;1、給定一個非嚴格遞增排列的有序數組 nums &#xff1b;2、原地 刪除重復出現的元素&#xff0c;使每個元素 只出現一次 &#xff1b;3、返回刪除后數組的新長度&#xff1b;4、元素的 相對順序 應該保持 一致 &#xff1b;5、然后返回 nums 中唯一元素的…

dolphinscheduler有任務一直在運行(問題)目前對數據庫解決

dolphinscheduler有任務一直在運行&#xff08;問題&#xff09;目前對數據庫解決 危害&#xff1a; 這么多的任務沒有結束&#xff0c;會涉及很多問題的&#xff0c;系統的數據盤會不斷入職日志&#xff0c;數據量很大&#xff0c; 其實對于dolphinscheduler的性能是下降的&a…

WMware虛擬機與主機互相共享文件安裝VMware Tools灰色無法點擊安裝解決方案

一、背景 虛擬機與主機互傳文件最簡單的方法&#xff0c;就是給虛擬機系統安裝VMware Tools。 安裝VMware Tools后虛擬機系統和主機的文件可以相互拖拽&#xff0c;文字也可以任意粘貼復制。 二、遇到的問題 使用VMware時&#xff0c;安裝VMware Tools或者重新安裝VMware To…

假期對企業郵箱的維護和管理策略

假期應該對企業郵箱做些什么&#xff1f;放假后對企業郵箱的自動回復設置將在這里單獨列出。自動回復是你與新老客戶溝通的橋梁。告訴老客戶你放假了&#xff0c;但你會花時間回復他。還告訴新客戶&#xff08;新詢價客戶&#xff09;你在假期不能及時回復他&#xff0c;他們會…

m4s格式視頻文件如何轉mp4?三個方法教會你!

m4s格式是一種視頻分片格式&#xff0c;它將視頻文件分成多個小塊&#xff0c;方便網絡傳輸和播放。這種格式常用于流媒體服務&#xff0c;如在線視頻網站、直播平臺等&#xff0c;比如B站嗶哩嗶哩下載下來的視頻就是這種格式。 方法一&#xff1a;野蔥視頻轉換器 一款音視頻轉…

鋸木棍

題目描述 有一根粗細均勻長度為 L 的木棍&#xff0c;先用紅顏色刻度線將它 m 等分&#xff0c;再用藍色刻度線將 其 n 等分&#xff08; m>n &#xff09;&#xff0c;然后按所有刻度線將該木棍鋸成小段&#xff0c;計算并輸出長度最長的木棍的長度和根數。 輸入格式…

【Python】數據類型和切片的零碎知識點

1. 數據類型 pow(a, b, c) # a^b % c print("happy {}".format(name))數字類型包括整數&#xff0c;浮點數&#xff0c;復數 0x9a表示十六進制數&#xff08;0x&#xff0c;0X開頭表示十六進制&#xff09; 0b1010&#xff0c;-0B101表示二進制數&#xff08;0…