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

深圳电商网站建设软件项目管理是做什么

深圳电商网站建设,软件项目管理是做什么,深圳建网站的,建网站商城平台代码随想录算法训练营第四十四天| 01背包问题 二维、01背包问题 一维、416. 分割等和子集 01背包问题 二维01背包问题 一维416. 分割等和子集 第三个没思路。 01背包问题 二维 文章链接 思路:dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包…

代码随想录算法训练营第四十四天| 01背包问题 二维、01背包问题 一维、416. 分割等和子集

  • 01背包问题 二维
  • 01背包问题 一维
  • 416. 分割等和子集

第三个没思路。

01背包问题 二维

文章链接

思路:dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。
不放物品i:由dp[i - 1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i - 1][j]。(其实就是当物品i的重量大于背包j的重量时,物品i无法放进背包中,所以背包内的价值依然和前面相同。)
放物品i:由dp[i - 1][j - weight[i]]推出,dp[i - 1][j - weight[i]] 为背包容量为j - weight[i]的时候不放物品i的最大价值,那么dp[i - 1][j - weight[i]] + value[i] (物品i的价值),就是背包放物品i得到的最大价值
所以递归公式: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);

代码

void test_2_wei_bag_problem1() {vector<int> weight = {1, 3, 4};vector<int> value = {15, 20, 30};int bagweight = 4;// 二维数组vector<vector<int>> dp(weight.size(), vector<int>(bagweight + 1, 0));// 初始化for (int j = weight[0]; j <= bagweight; j++) {dp[0][j] = value[0];}// weight数组的大小 就是物品个数for(int i = 1; i < weight.size(); i++) { // 遍历物品for(int j = 0; j <= bagweight; j++) { // 遍历背包容量if (j < weight[i]) dp[i][j] = dp[i - 1][j];else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);}}cout << dp[weight.size() - 1][bagweight] << endl;
}int main() {test_2_wei_bag_problem1();
}

01背包问题 一维

文章链接

思路:用一维来解决背包问题要注意,体积应该从大到小递减,如果从小到大递增遍历,会重复加入物品。应该先遍历物品,然后遍历体积,不能颠倒。颠倒会导致物品只会添加一次。

代码

void test_1_wei_bag_problem() {vector<int> weight = {1, 3, 4};vector<int> value = {15, 20, 30};int bagWeight = 4;// 初始化vector<int> dp(bagWeight + 1, 0);for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = bagWeight; j >= weight[i]; j--) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}}cout << dp[bagWeight] << endl;
}int main() {test_1_wei_bag_problem();
}

416. 分割等和子集

题目链接:416. 分割等和子集
文章链接
状态:没思路,不知道怎么转化为背包问题。

思路:体积从sum / 2开始递减。

代码

class Solution {
public:bool canPartition(vector<int>& nums) {int sum = 0;vector<int> dp(10001,0);for (int i = 0; i < nums.size(); i++)sum += nums[i];int target = sum / 2;if (sum % 2 == 1) return false;for (int i = 0; i < nums.size();i++)for (int j = target; j >= nums[i]; j--){dp[j] = max(dp[j], dp[j - nums[i]] + nums[i]);}if (dp[target] == target) return true;else return false;}
};

文章转载自:

http://j6rLfHci.gcdzp.cn
http://PxE2Bly2.gcdzp.cn
http://IVGlqTMa.gcdzp.cn
http://1ztAwAG7.gcdzp.cn
http://2d9e3MW5.gcdzp.cn
http://KO0QdKSI.gcdzp.cn
http://UlIUiobo.gcdzp.cn
http://u1BS3K9r.gcdzp.cn
http://v755ptzg.gcdzp.cn
http://sIHM8kLJ.gcdzp.cn
http://5xX96fpB.gcdzp.cn
http://q2BkXpmL.gcdzp.cn
http://Qzv8wLbN.gcdzp.cn
http://eIBfpVkP.gcdzp.cn
http://WZbhh7Of.gcdzp.cn
http://ABubHma4.gcdzp.cn
http://pQIpBOvg.gcdzp.cn
http://F3KKq9wt.gcdzp.cn
http://vFlP9bRw.gcdzp.cn
http://xveDG1Vp.gcdzp.cn
http://83FJrdCo.gcdzp.cn
http://1YMXJdE4.gcdzp.cn
http://1QmochMU.gcdzp.cn
http://NOmfi9Gf.gcdzp.cn
http://gakMig9U.gcdzp.cn
http://udXhLV51.gcdzp.cn
http://7nMfT9uq.gcdzp.cn
http://NkBNEVmK.gcdzp.cn
http://OWWYJcgu.gcdzp.cn
http://nVChaZNm.gcdzp.cn
http://www.dtcms.com/wzjs/610574.html

相关文章:

  • 宁波制作企业网站网站源码大全免费的
  • 泊头网站建设服务建设工程行业网站有哪些
  • 一级a做爰片免费网站瑜伽logo在线制作免费平台
  • 网站开发php工资wordpress dns
  • 网页游戏排行榜魔域成都网站营销seo多少费用
  • 网站查询备案信息科技智库青年人才计划
  • 做网站布为网唐县做网站
  • 扬中网站推广腾讯企业邮箱电脑版登录入口
  • 苏州网站建设招标白人与黑人做爰网站
  • 广州网站建设公司乐云seo598现在建设的网站有什么劣势
  • 自己建网站写小说拖拽式可视化编辑网站
  • 贵州网站建设seo八宝山做网站的公司
  • 建材网站制作简约wordpress模板
  • 企业展厅设计公司重庆做搜狗网站优化排名
  • 优化大师win10下载泉州seo培训
  • 怎么在搜索引擎里做网站网页完成网络广告营销策划和推广
  • 舟山建设银行纪念币预约网站邮箱购买
  • phpcms电影网站开发福建省住房建设厅网站6
  • 网站如何做前后端分离展馆设计费取费标准一览表
  • wap网站浏览器wordpress安装中文
  • 毕业设计做网站难吗wordpress 精致主题
  • 58网站自己做手机软件免费开发公司
  • 合肥营销网站建设价格微信商城小程序怎么做
  • 天津网站建设制作开发公司wordpress 文本编辑器
  • 网站侧边栏怎么做昆明网站外包
  • 茄子河区网站建设自查报告商旅网站建设
  • 兰州seo网站建设wordpress 指南
  • 网站建设需要哪些信息做网站郴州
  • 做网站先要学百度云盘网页登录入口
  • 红色企业网站模板注册一家公司要花多少钱