当前位置: 首页 > 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/644305/

相关文章:

  • 网站开发质量控制计划书传媒公司主要做什么
  • 栾川网站建设专业搜索引擎seo服务商
  • 网站图片模板源码简述制作网站的步骤和过程
  • 做外贸去哪个网站找客户网站文章内容排版要求
  • 免费wordpress采集插件郑州seo技术培训班
  • 专业手机网站开发网站模板大全官网
  • 三三网是什么网站页面设计理念说明
  • 改图网网站谁做的注册企业查询
  • 北京网站设计与制作公司北京西站进站最新规定
  • 酒泉网站建设与制作王烨老师
  • 个人网站是否需要备案网站虚拟主机内存不足能不能链接
  • 网站特殊字体建设网站图片素材
  • 了解营销型企业网站建设百度收录哪个网站多
  • 怎么做qq刷会员的网站网站 js 广告代码大全
  • 国外做美食的网站棋牌类网站是用游戏方式做的吗
  • qq空间域名抢注网站网件路由器初始密码
  • 江苏连云港做网站设计平台市场分析
  • 哪里有免费的网站域名系统页面设计的原则
  • 曹县网站开发淘宝网店怎么注册开店
  • 太原网站建设制作机构wordpress 删除重复
  • 聊城制作手机网站网站开发工程师中级高级
  • 平台网站建设公司哪家好用dw制作网站模板下载地址
  • 彩票网站制作找谁专业北京seo公司
  • 成都房地产网站建设wordpress 分类插件
  • 为什么广告不集中建设广告网站大城县建设局网站
  • wordpress国外联盟爱站seo查询软件
  • 网站升级中 html网页制作与设计元素是什么
  • 个人怎样注册一家公司郑州seo怎么做
  • 网站做等保备案临沂网站建设价格
  • 工作设计室网站用户个人中心页面html源码