中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)經(jīng)費(fèi)立項(xiàng)報(bào)告網(wǎng)絡(luò)營(yíng)銷發(fā)展方案策劃書(shū)

網(wǎng)站建設(shè)經(jīng)費(fèi)立項(xiàng)報(bào)告,網(wǎng)絡(luò)營(yíng)銷發(fā)展方案策劃書(shū),手機(jī)開(kāi)發(fā)者工具,如何建立一個(gè)論壇網(wǎng)站文章目錄一、背包能否裝滿?416. 分割等和子集1049. 最后一塊石頭的重量 II二、裝滿背包有幾種方法?494. 目標(biāo)和518.零錢(qián)兌換II377. 組合總和 Ⅳ70. 爬樓梯三、背包裝滿的最大價(jià)值474.一和零四、裝滿背包最小物品數(shù)322. 零錢(qián)兌換279.完全平方數(shù)一、背包能…

文章目錄

  • 一、背包能否裝滿?
    • 416. 分割等和子集
    • 1049. 最后一塊石頭的重量 II
  • 二、裝滿背包有幾種方法?
    • 494. 目標(biāo)和
    • 518.零錢(qián)兌換II
    • 377. 組合總和 Ⅳ
    • 70. 爬樓梯
  • 三、背包裝滿的最大價(jià)值
    • 474.一和零
  • 四、裝滿背包最小物品數(shù)
    • 322. 零錢(qián)兌換
    • 279.完全平方數(shù)

一、背包能否裝滿?

416. 分割等和子集

在這里插入圖片描述

class Solution {
public:// 01背包:逆序遍歷// 組合問(wèn)題:先背包后容量bool canPartition(vector<int>& nums) {int m = nums.size();int sum = accumulate(nums.begin(), nums.end(), 0);if(sum & 1) return false;int n = sum / 2;vector<int> dp(n + 1, 0);        // dp[j]:容量為j的背包,最多裝入重量為dp[j]的物品for(int i = 0; i < m; i++){for(int j = n; j >= nums[i]; j--){dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]);}}return dp[n] == n;}
};

dp背包問(wèn)題——416. 分割等和子集

1049. 最后一塊石頭的重量 II

在這里插入圖片描述

class Solution {
public:// 01背包:逆序遍歷// 組合問(wèn)題:先物品、后容量int lastStoneWeightII(vector<int>& stones) {int m = stones.size();int sum = accumulate(stones.begin(), stones.end(), 0);int n = sum / 2;vector<int> dp(n + 1, 0);  // dp[j]:容量為j的背包,最多裝dp[j]的石頭for(int i = 0; i < m; i++){for(int j = n; j >= stones[i]; j--){dp[j] = max(dp[j], dp[j - stones[i]] + stones[i]);}}return sum - 2 * dp[n];}
};

dp背包問(wèn)題——1049. 最后一塊石頭的重量 II

二、裝滿背包有幾種方法?

494. 目標(biāo)和

在這里插入圖片描述

class Solution {
public:// 01背包:逆序遍歷// 組合問(wèn)題:先物品,后容量int findTargetSumWays(vector<int>& nums, int target) {int sum = accumulate(nums.begin(), nums.end(), 0);if((sum + target) & 1) return 0;int m = nums.size();int n = (sum + target) / 2;if(n < 0) return 0;vector<int> dp(n + 1, 0);  // dp[j]:裝滿容量為j的背包,有dp[j]種方法dp[0] = 1;                 // 裝滿容量為0的背包,只有1種方法for(int i = 0; i < m; i++){for(int j = n; j >= nums[i]; j--){// 多了一個(gè)物品可選擇后,裝滿背包的方法數(shù)就是 :(沒(méi)有當(dāng)前物品可選時(shí)的方法數(shù) + 選了當(dāng)前物品的方法數(shù))dp[j] = dp[j] + dp[j - nums[i]];}}return dp[n];}
};

dp背包解決組合問(wèn)題——494. 目標(biāo)和

518.零錢(qián)兌換II

在這里插入圖片描述

class Solution {
public:// 完全背包:順序遍歷// 組合問(wèn)題:先物品、后容量int change(int amount, vector<int>& coins) {int m = coins.size();int n = amount;vector<int> dp(n + 1, 0);  // dp[j]:裝滿容量為j的背包,有dp[j]種方式dp[0] = 1;for(int i = 0; i < m; i++){for(int j = coins[i]; j <= n; j++){// 多了一個(gè)物品可選后,裝滿背包的方法數(shù)就是 :(沒(méi)有當(dāng)前物品可選時(shí)的方法數(shù) + 選了當(dāng)前物品的方法數(shù))dp[j] = dp[j] + dp[j - coins[i]];}}return dp[n];}
};

dp完全背包問(wèn)題解組合問(wèn)題——零錢(qián)兌換

377. 組合總和 Ⅳ

在這里插入圖片描述

class Solution {
public:// 完全背包:順序遍歷// 排列問(wèn)題:先容量,后物品int combinationSum4(vector<int>& nums, int target) {int m = nums.size();int n = target;vector<int> dp(n + 1, 0); // dp[j]:裝滿容量為j的背包,物品的組合數(shù)為dp[j]dp[0] = 1;for(int j = 1; j <= n; j++){for(int i = 0; i < m; i++){if(j >= nums[i] && dp[j] < INT_MAX - dp[j - nums[i]]) dp[j] += dp[j - nums[i]];}}return dp[n];}
};

70. 爬樓梯

在這里插入圖片描述

class Solution {
public:// 完全背包:順序遍歷// 排列問(wèn)題:先容量,后物品int climbStairs(int n) {int m = 2;int nums[2] = {1,2};vector<int> dp(n + 1, 0);  // dp[j]:裝滿容量為j的背包,有dp[j]種方法dp[0] = 1;for(int j = 1; j <= n; j++){for(int i = 0; i < m; i++){if(j >= nums[i]) dp[j] = dp[j] + dp[j - nums[i]];}}return dp[n];}
};

排列問(wèn)題:先容量,后物品

如果物品為{1,2},假如此時(shí)容量為2(容量為1的背包只能裝物品1),用當(dāng)前容量遍歷多個(gè)物品,可以選擇在裝了物品1的基礎(chǔ)上接著裝,也可以選擇不在其基礎(chǔ)上裝,直接裝入物品2。當(dāng)容量為3時(shí),也可以選擇在裝有物品2的基礎(chǔ)上再裝入物品1,這樣就出現(xiàn)了{(lán)2,1}

組合問(wèn)題:先物品,后容量

如果物品為{1,2,3},假如此時(shí)容量為5

在這里插入圖片描述
只有物品1,用各個(gè)容量遍歷,此時(shí)無(wú)論是什么容量的背包,都只能放入物品1
此時(shí)我們手拿著物品2,對(duì)于每一個(gè)容量,要么直接使用現(xiàn)在就裝滿的背包,要么找一個(gè)剩余容量為2的背包放入當(dāng)前物品2
接著我們手拿著物品3,對(duì)于每一個(gè)容量,要么直接使用現(xiàn)在就裝滿的背包,要么找一個(gè)剩余容量為3的背包放入當(dāng)前物品3

class Solution {
public:int climbStairs(int n) {vector<int> dp(n + 1, 0);dp[0] = 1;dp[1] = 1;for(int i = 2; i <= n; i++){dp[i] = dp[i - 2] + dp[i - 1];  // 要么爬1個(gè)臺(tái)階,要么2個(gè)臺(tái)階}return dp[n];}
};

三、背包裝滿的最大價(jià)值

474.一和零

在這里插入圖片描述

class Solution {
public:// 01背包:逆序遍歷// 組合問(wèn)題:先物品、后容量int findMaxForm(vector<string>& strs, int m, int n) {vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));  // dp[i][j]:裝滿容量為ij背包的最大價(jià)值for(string& s : strs){int w0 = 0;int w1 = 0;for(char c : s){if(c == '0') w0++;else w1++;}// 每次循環(huán)計(jì)算出的dp[m][n]表示只有前幾個(gè)物品可選時(shí),所獲得的最大價(jià)值for(int i = m; i >= w0; i--){for(int j = n; j >= w1; j--){dp[i][j] = max(dp[i][j], dp[i - w0][j - w1] + 1);  // 1表示價(jià)值}}}return dp[m][n];}
};

四、裝滿背包最小物品數(shù)

322. 零錢(qián)兌換

在這里插入圖片描述

class Solution {
public:// 問(wèn)裝滿背包需要最少的物品數(shù)int coinChange(vector<int>& coins, int amount) {// 完全背包:順序遍歷// 組合問(wèn)題:先物品、后容量,裝滿就行,不在意裝入的順序int m = coins.size();int n = amount;// 湊成面值n,最多需要n個(gè)硬幣,初始化為n + 1即可vector<int> dp(n + 1, n + 1); // dp[j]:裝滿容量為j的背包至少需要dp[j]個(gè)物品dp[0] = 0;for(int i = 0; i < m; i++){for(int j = coins[i]; j <= n; j++){// 裝滿容量為j的背包,要么直接用前面的物品裝滿,要么找一個(gè)剩余容量為coins[i]的背包放入coins[i]dp[j] = min(dp[j], dp[j - coins[i]] + 1);  }}return dp[n] == n + 1 ? -1 : dp[n];}
};

279.完全平方數(shù)

在這里插入圖片描述

class Solution {
public:// 物品為:[1,4,9,...]// 容量為n,問(wèn)裝滿背包至少需要幾個(gè)物品int numSquares(int n) {// 完全背包:順序遍歷// 組合問(wèn)題:先物品、后容量vector<int> dp(n + 1, n);dp[0] = 0;for(int i = 1; i <= n / i; i++){for(int j = i * i; j <= n; j++){dp[j] = min(dp[j], dp[j - i * i] + 1);}}return dp[n];}
};
http://www.risenshineclean.com/news/37288.html

相關(guān)文章:

  • 那個(gè)網(wǎng)站可以做視頻app制作的企業(yè)網(wǎng)站建設(shè)方案模板
  • 網(wǎng)站要交錢(qián)嗎電腦培訓(xùn)學(xué)校哪家好
  • 手機(jī)微網(wǎng)站怎么做的網(wǎng)絡(luò)軟文營(yíng)銷案例3篇
  • 西安網(wǎng)站建設(shè)公司云網(wǎng)北京網(wǎng)站優(yōu)化排名推廣
  • 張家港高端網(wǎng)站制作百度總部公司地址在哪里
  • 蘇州 網(wǎng)站 建設(shè) 公司微信營(yíng)銷模式有哪些
  • 做企業(yè)網(wǎng)站比較好的公司互動(dòng)營(yíng)銷案例都有哪些
  • 建筑工程網(wǎng)站源碼市場(chǎng)營(yíng)銷證書(shū)含金量
  • 天津高端品牌網(wǎng)站建設(shè)企業(yè)培訓(xùn)課程名稱大全
  • 網(wǎng)站開(kāi)發(fā)畢業(yè)論文范文微博推廣方法有哪些
  • 自適應(yīng)網(wǎng)站什么做2022今天剛剛發(fā)生地震了
  • 哈爾濱住房和城鄉(xiāng)建設(shè)廳官方網(wǎng)站如何軟件網(wǎng)站優(yōu)化公司
  • wordpress 數(shù)據(jù)庫(kù)青島網(wǎng)站關(guān)鍵詞排名優(yōu)化
  • 政府網(wǎng)站建設(shè)情況調(diào)查表內(nèi)蒙古seo
  • 汽車app網(wǎng)站建設(shè)內(nèi)容企業(yè)推廣
  • h5長(zhǎng)圖怎么做口碑優(yōu)化
  • windows系統(tǒng)做網(wǎng)站滄州網(wǎng)站建設(shè)優(yōu)化公司
  • html+jsp個(gè)人網(wǎng)站模板百度認(rèn)證證書(shū)
  • 北京網(wǎng)站建設(shè)工作室百度的合作網(wǎng)站有哪些
  • 谷歌網(wǎng)站收錄入口seo優(yōu)化的常用手法
  • 岳陽(yáng)企業(yè)網(wǎng)站定制開(kāi)發(fā)如何在百度上開(kāi)店鋪
  • 好的h5網(wǎng)站企業(yè)網(wǎng)站模板免費(fèi)下載
  • 政府網(wǎng)站建設(shè)計(jì)劃編程培訓(xùn)
  • 金融業(yè)反洗錢(qián)培訓(xùn)網(wǎng)站seo咨詢推廣
  • 網(wǎng)站做百度推廣嗎軟文寫(xiě)作范文500字
  • 高端營(yíng)銷型網(wǎng)站b站推廣app大全
  • 圖片上傳網(wǎng)站制作廣告推廣系統(tǒng)
  • 如何查看一家網(wǎng)站是否有備案深圳網(wǎng)絡(luò)營(yíng)銷推廣專員
  • pc網(wǎng)站開(kāi)發(fā)2023重大新聞事件10條
  • 網(wǎng)站正在建設(shè)中 文案seo網(wǎng)站建站