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

做一个平台 网站服务器搭建网站制作收费

做一个平台 网站服务器搭建,网站制作收费,库存网站建设公司,前端 模板 网站动态规划 文章目录 一、01背包问题二、分割等和子集总结 一、01背包问题 1.在有限的背包内放入最高价值的东西 2.二维数据和一维数据都可以解决 3.二维数据,递推公式为dp[i][j] max(dp[i-1][j], dp[i-1][j-weight[i]]value[i]),分为两个状态&#xff0…

动态规划

文章目录

  • 一、01背包问题
  • 二、分割等和子集
  • 总结


一、01背包问题

1.在有限的背包内放入最高价值的东西
2.二维数据和一维数据都可以解决
3.二维数据,递推公式为dp[i][j] = max(dp[i-1][j], dp[i-1][j-weight[i]]+value[i]),分为两个状态,放入第i个物品和不放入第i个物品,取其中的最大值。表示遍历到第i个物品时可以得到的最大价值,当前i的最大价值由i上边和左边的物品决定。递推公式不算很难,难点在于数组初始化以及遍历顺序。
4.一维数组,也就是滑动数组,当前遍历结果受到上层结果影响。递推公式为dp[j] = max(dp[j], dp[j-weight[i]]+value[i]),表示在j容量下,可以获得的最大价值。因为是一维数组,同时当前的遍历结果受到上一层的影响,所以遍历顺序需要从后往前。如果从前往后的话,上层遍历结果要先于当前遍历物品改变,所以要从后往前。

二、分割等和子集

01背包问题,将问题抽象为01背包问题。

class Solution {
public:bool canPartition(vector<int>& nums) {//两个子集的元素和相同,也就是如果能组成一个sum/2,那其他的元素也能组成sum/2//sum/2相等于背包容量//1.dp数组及下标含义vector<int>dp(10001, 0);int sum = 0;for (int i = 0; i < nums.size(); i++) {sum += nums[i];}if (sum % 2 == 1) return false;int target = sum / 2;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;return false;}
};

总结

有点宕机,感觉总有点不对,某个节点一直没整明白,明天再好好理一下
学习时间90min。
学习资料:《代码随想录》。

http://www.yayakq.cn/news/333406/

相关文章:

  • 网站wordpress错误替换wordpress管理路径
  • 提供网站建设的各类服务济宁网站建设推荐
  • 网站运营策划ppt商业网站建设与维护
  • 如何做一个购物网站徐州库云平台
  • 陕西西乡网站建设建站技术有哪些
  • 网站域名备案要多久汉化主题做网站
  • 公司做网站需要注意什么事情上海线上引流推广
  • 网站关键字优化公司榆林市住房和城市建设局网站
  • 德州哪家网站优化公司专业用外链技术做视频网站
  • 专业做家居的网站有哪些营销手段有哪些方式
  • 自学做网站网站文章更新注意什么意思
  • 网上做调查网站有哪些网站建设有哪些特点
  • 南通城乡建设局网站爱民网站制作
  • wordpress自定义表单seo快速优化报价
  • 符合网络营销网站建设千锋教育的口碑怎么样
  • 柏乡网站建设建设企业和建筑企业
  • 十堰秦楚网 十堰新闻门户网站wordpress+简书+比较
  • 辽源市网站建设h5可视化拖拽生成工具
  • 电子商务网站建设与管理 技能实训wordpress单本小说模板
  • 自适应网站如何做mip清溪镇仿做网站
  • 两个公司的网站建设毕设做系统与网站答辩
  • 空壳网站查询可以做头像的网站有哪些
  • 怎样才能注册自己的网站全平台内容系统免费
  • 海南电商网站建设wordpress 删除所有评论
  • 落地页网站建设可以做数学题的网站
  • 做电商有那个网站新乡网站推广
  • 营销型网站设计文章阿里网站官网入口
  • 农村电商网站建设软件界面设计用什么软件
  • 学校网站建设策划方案廉政建设网评文章网站
  • 提供网站技术支持建设一个营销网站有哪些步骤