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

国外免费素材模板网站做网站乱码

国外免费素材模板网站,做网站乱码,引流获客工具,wordpress搜索开发学习资料:代码随想录 这一块儿学得挺痛苦 注:文中含大模型生成内容 动态规划:01背包理论基础 卡码网第46题 思路:五部曲 定义:dp[i][j]为第i个物品背包容量为j,能装下的最大价值 递推公式&#xff1…

 学习资料:代码随想录

这一块儿学得挺痛苦

注:文中含大模型生成内容

动态规划:01背包理论基础

卡码网第46题

思路:五部曲

定义:dp[i][j]为第i个物品背包容量为j,能装下的最大价值

递推公式:dp[i][j]的值等于dp[i-1][j]的值和dp[i-1][j-weight[i]]+value相比的最大值,后者为看放下当前物品+减去当前物品的容量能放下什么价值,当然,要是放不下当前物品,就算了,保持原来的值把

初始化:左边(dp[i][0]背包容量为0)都初始化为0,挺好的,就是不用管了

dp[0][j],容量j能把物品0放上就放上,放不上就是0

遍历顺序:怎么着都行

打印:略

#include <bits/stdc++.h>
using namespace std;int main(){int materials,N;cin>>materials>>N;vector<int> space(materials,0);for(int i=0;i<materials;i++){cin>>space[i];}vector<int> value(materials,0);for(int i=0;i<materials;i++){cin>>value[i];}vector<vector<int>> dp(materials,vector<int>(N+1,0));    //dp[i][j]表示有i个材料可以放,背包能装的空间为j时的最大价值,从行李空间为0开始递推for(int j=space[0];j<=N;j++) dp[0][j] = value[0];for(int i=1;i<materials;i++){     //i从1开始,否则在递推函数处会索引负数for(int j=0;j<=N;j++){if(j<space[i]) dp[i][j] = dp[i-1][j];       //防止下面出现负索引else{dp[i][j] = max(dp[i-1][j],dp[i-1][j-space[i]]+value[i]);  //递推公式得画图模拟一下}}}cout << dp[materials-1][N]<<endl;    //第materials个物品下标为materials-1   }

动态规划:01背包理论基础(滚动数组)

卡码网第46题

 滚动数组是把原先的二维dp数组压缩成一维了,就等于看新一个物品能不能装上的时候就按规矩累计之前的结果然后把之前的覆盖掉

主要在遍历方向上很难:

一是j要倒着遍历:

TA说得很清楚:二维是根据上一个物品更新的。而一维数组是在本行根据本物品更新的。正序的化就会产生能多次放该物品的错觉,实际上该物品只能放一次

 为什么不能先遍历背包,还是让TA帮我模拟一下,不行啊,先遍历背包的话只能加上一个物品。

啊,这不就是我的贾维斯吗!!我能获得一份开发贾维斯的工作吗

我自己模拟了一下正向遍历j在外层,不行,会出现重复放一个物品的问题。总之,根据递推公式来看,还是要提取上一轮的信息,不要让上一轮的信息被本轮信息覆盖

416. 分割等和子集

力扣题目链接

思路:关键在于如何将其转换为背包问题;

dp[j]为背包容量为j,能装的最大价值,那么在这里,,value[i]和weight[i]都是nums[i];背包容量是数字和的一半sum/2,是那个target,如果背包容量target能装target,就是能对半儿分了

// 五部曲
// dp定义:dp[j] 容量为j的背包,能装的价值为dp[j]
// 递推公式:按背包来,价值和重量都是这个数的值
// 初始化:根据递推公式的max要选最大的,nums都是正整数,所以都初始化为最小的正整数0
// 遍历顺序:按背包来
// 打印
class Solution {
public:bool canPartition(vector<int>& nums) {vector<int> dp(100*200/2+1);   //根据题意区间写的int sum = 0;for(int num:nums){sum+=num;} if (sum%2!=0) 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]);}}return dp[target] == target;}
};

https://www.youtube.com/watch?v=bI_GJHCePlY今日发现一件艺术品,搁5、6年前我可能是他们的受众,现在的我没有耐心连着看第三遍了。Anyway,祝大家今晚睡个好觉,明天是Sunday Morning哦

http://www.dtcms.com/wzjs/607099.html

相关文章:

  • wordpress qq相册网站刚做好怎么做优化
  • 加强网站微信信息编辑队伍建设WordPress jwt
  • 福建省晋江市建设局网站网站icp备案怎么写
  • 网站建设中敬请期待成都网站建设收费明细
  • 上栗网站建设wordpress主体中的psd
  • 公司网站版面怎么设计济南seo网络优化公司
  • 怎么在百度上添加自己的店铺地址整站优化推广品牌
  • 如何做好互联网营销推广seo查询官网
  • wordpress 站内消息做法城乡建设部网站
  • 用dw做网站的菜单栏手绘风格的网站
  • 网站域名费多少东营市造价信息网
  • 目前主流的网站开发语言如何建立营销型网站
  • 网站的域名在哪里看哈尔滨网站制作工具
  • 紫云网站建设app开发需要多少费用
  • 网站怎么做微信送红包活动wordpress自定义链接不能用
  • 教做甜品的网站徐州网站建设的特点
  • 爱站工具包的主要功能华为服务器
  • wordpress做企业网站街头小吃加盟网站建设
  • 淄博桓台学校网站建设哪家好宜兴建设公司网站
  • 第三方做农产品价格数据的网站百度做一个网站怎么做呢
  • 做网站必须用域名吗句容网站建设
  • 沂南网站建设泗洪企业网站建设
  • ai做的比较好的网站专业制作银行存单
  • 开发网站公司价格wordpress添加pdf
  • 网页设计网站的分析网站1996年推广
  • 备案期间网站能用吗wordpress修改页面标题显示不出来
  • 微信开发网站开发网站开发语言html
  • 网站做服务端单页面优化
  • 南宁建设工程质量网站秦皇岛市中医院
  • 企业设计网站wordpress 禁用插件