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

app做好了网站怎么做南昌房产网信息网

app做好了网站怎么做,南昌房产网信息网,访问同一网站多次,个人如何开发小程序题目: 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 。那么粉碎的可能结果如下: …
题目:

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。

每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:

如果 x == y,那么两块石头都会被完全粉碎;
如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x
最后,最多只会剩下一块 石头。返回此石头 最小的可能重量 。如果没有石头剩下,就返回 0。

示例:

 

解法:

本题物品的重量为stones[i],物品的价值也为stones[i]。

对应着01背包里的物品重量weight[i]和 物品价值value[i]。

动规五部曲:

(1)确定dp数组以及下标的含义

01背包中,dp[j]:容量为j的背包,最多可以装的价值为 dp[j]。

本题中,石头的重量是 stones[i],石头的价值也是 stones[i] ,可以 “ 最多可以装的价值为 dp[j] ” == “ 最多可以背的重量为dp[j] ”

(2)确定递推公式

01背包的递推公式为:dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);

本题则是:dp[j] = max(dp[j], dp[j - stones[i]] + stones[i]);

(3)dp数组如何初始化:vector<int> dp(bagweight+1,0);

(4)确定遍历顺序:先遍历物品,后遍历背包容量

(5)举例推导dp数组

class Solution {
public:int lastStoneWeightII(vector<int>& stones) {//背包容量为所有石头重量/2;//转换成01背包问题:背包容量最多能装多少石头int n=stones.size();int sum=accumulate(stones.begin(),stones.end(),0);int bagweight=sum/2;vector<int> dp(bagweight+1,0);for(int i=0;i<n;i++){for(int j=bagweight;j>=stones[i];j--){dp[j]=max(dp[j],dp[j-stones[i]]+stones[i]);}}return sum-2*dp[bagweight];}
};

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

相关文章:

  • 扎区门户网站建设深圳住建厅官方网站
  • 山东网站建设开发外包浏览器打开用dw做的网站说
  • 站酷网怎么样怎样自己做网站赚钱吗
  • 做早餐煲汤网站wordpress cdn 回源量
  • 如何更新网站快照手机开发者选项开启的好还是关闭的好
  • 自己建设一个网站软件怎么创作一个微信小程序
  • 网站维护常识搭建网站软件
  • 个人网站模板怎么做网站大量死链
  • 南山做网站的东莞市住房建设局网站首页
  • 郑州网站建设方案免费的外贸网站推广方法
  • 免费那个网站wordpress 怎么登录地址
  • 网站访问量怎么做厂字型布局网站
  • 网站建设哪些职位采招网招标官网
  • 中山网站seo公司宣传网站建站
  • seo网站关键词优化多少钱深圳专业网站建设
  • wordpress 如何建站凡科一个注册做2个网站
  • 学校网站建设多少钱海宏集团网站建设方案
  • 现在那个网站做视频最赚钱企业做网站的步骤与做网站注意事项
  • 网站设计客户端php网站开发图文教程
  • 建设银行企业网上银行网站打不开如何上传视频到公司网站
  • 宁波网站设计哪家公司好营销网站售后调查系统
  • 青岛网站制作工作室旅游电子商务网站的建设方案
  • 2016企业网站建设合同河北省网站备案管理系统
  • 帮忙做网站的协议网站高质量链群怎么做
  • 长沙网站建设维护维护网站需要什么技术
  • 网站建设哪些是需要外援的问题wordpress建站 评测
  • 郑州高端网站开发重庆市网站备案
  • 株洲建设工程造价信息网站湖南长沙旅游十大必去景区
  • 手机端网站设计制作案例数字展厅展馆解决专家
  • 课程中心网站建设内容专业推广引流团队