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

商城网站设计价格dedecms购物网站模板下载

商城网站设计价格,dedecms购物网站模板下载,免费做视频网站,建网站选服务器题目: 有一堆石头,用整数数组 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/41964/

相关文章:

  • 龙岩网站制作设计物流网页设计
  • 网站做推广有用网站建设费用是多少钱
  • 二次元下午茶wordpressseo营销论文
  • 一学一做看视频网站网址导航是什么浏览器
  • 桂阳县网站建设公司哪家好免费的网站托管
  • 山西省建设主管部门网站福州专业网站建设价格
  • 北京学设计去哪个网站好网站建设放什么科目
  • 做博客的网站有哪些佛山网页搜索排名提升
  • 微网站特点新网站快速收录
  • 贵阳建设网站公司个人网站名称请
  • wordpress 电影网站什么是网络营销中的广告联盟
  • 天美传媒传媒官网免费下载网站关键词优化代理
  • 怎么0成本做网站标签在线设计平台
  • 中山市企业网站seo哪里好男女做暖暖网站
  • 产品怎么做推广和宣传seo短视频网页入口引流
  • 网站权重6了该则么做优化方案如何做网站内链
  • 杭州信贷网站制作软件外包项目网站
  • 网站优化排名分享隐迅推合肥网站建设的公司
  • 服务器做网站哪个系统好昆明响应式网站
  • 猎头做单网站wordpress修改小工具
  • 天河区住房和建设水务局官方网站微信公众号配置 网站建设
  • 网站空间租赁合同wordpress主题神级
  • 网站怎么使用河海大学学风建设网站
  • 网站建设合同不给版权网站建设适用税种
  • 郑州管城建设网站网站建设怎么好
  • ps网站设计概述电子商务专业学什么
  • 工厂怎么做网站广告平台推广渠道
  • 源代码如何做网站学历网站怎么做
  • 北京 广告 手机网站中国企业500强第一名是谁
  • 部门网站建设管理典型经验材料成都网站建设 培训学校