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

网站建设培训价格兰州房地产网站建设

网站建设培训价格,兰州房地产网站建设,建手机网站的必要性,济宁亿蜂网站建设题目描述 原题链接#xff1a;2. 01背包问题 解题思路 #xff08;1#xff09;二维dp数组 动态规划五步曲#xff1a; #xff08;1#xff09;dp[i][j]的含义#xff1a; 容量为j时#xff0c;从物品1-物品i中取物品#xff0c;可达到的最大价值 #xff08;2…题目描述 原题链接2. 01背包问题 解题思路 1二维dp数组 动态规划五步曲 1dp[i][j]的含义 容量为j时从物品1-物品i中取物品可达到的最大价值 2递归公式 dp[i][j] max(dp[i - 1][j], dp[i - 1][j - v[i]] w[i])其中dp[i - 1][j]表示不放物品i时的最大价值j - v[i]表示给物品i留出空间dp[i - 1][j - v[i]]表示给物品i留出空间后放入其余物品可达到的最大价值由于是按物品递增顺序遍历因此为从1-i-1的物品dp[i - 1][j - v[i]] w[i]表示放入物品i和其余放入其余物品可到达的最大价值。 3dp数组初始化 dp[0][j] d[i][0] 0, dp[0][j]中j v[i]的取w[i] 4遍历顺序 从小到大先背包后物品或先物品后背包都可以。 5举例 #include iostream #include cstring #include algorithmusing namespace std;const int N 1010; int dp[N][N];int main(){int n, m;int v[N], w[N];cin n m;for(int i 1; i n; i) cin v[i] w[i];for(int i 1; i n; i) {for(int j 1; j m; j) {// 当前物品重量大于背包容量时不放该物品if(j v[i]) dp[i][j] dp[i - 1][j];// 当前物品重量小于等于背包容量时在放该物品后和不放该物品之间选择一个最大价值else dp[i][j] max(dp[i - 1][j], dp[i - 1][j - v[i]] w[i]);}}cout dp[n][m] endl;return 0; }2优化为一维dp数组滚动数组 滚动数组含义本轮所计算的数需要用到上一轮的结果依次类推滚动计算。 优化成一维那就要在遍历上实现与二维相同的逻辑顺序从而实现仅用一维就可以代替二维。 动态规划五步曲 1dp[j]数组的含义 容量为j时装入的物品可达到的最大价值。 2递推公式 dp[j] max(dp[j], dp[j - v[i]]) 3dp数组初始化 dp[0] 0 4遍历顺序 两层for循环先遍历物品再遍历背包内层按背包从大到小递减顺序遍历。 如果删除dp中的维度[i]后还保持对j的从小到大遍历那么此时的代码其实是等价于dp[i][j] max(dp[i][j - 1], dp[i][j - v[i])在一遍后续遍历中因为j是从小到大与v[i]相减在后续相减时可能会出现本轮遍历中用过的数会使之前使用过的数重复相加。 而如果以对j进行从大到小遍历因为此时是j是从m到v[i]以此顺序计算dp[j - v[i]]时在一遍后续遍历中都是会基于上一轮对i的遍历而进行判定并且由于j变化而v[i]不变在后续不会出现使用过的数重复相加。每次遍历到的j所对应dp[j - v[i]]都还没有被更新就相当于是之前的状态dp[i - 1][j - v[i]]从而得到dp[j] dp[j - v[i]]就等价于dp[i][j] dp[i - 1][j - v[i]]。 5举例 #include iostream #include cstring #include algorithmusing namespace std;const int N 1010; int dp[N];int main(){int n, m;int v[N], w[N];cin n m;for(int i 1; i n; i) cin v[i] w[i];for(int i 1; i n; i) {// 从后向前遍历表示装入一个物品后剩余的可装入容量达到的最大价值for(int j m; j v[i]; j--) {dp[j] max(dp[j], dp[j - v[i]] w[i]);}}cout dp[m] endl;return 0; }参考文章AcWing 2. 01背包问题状态转移方程讲解 、AcWing 2. 01背包问题 、动态规划关于01背包问题你该了解这些滚动数组
http://www.hkea.cn/news/14298590/

相关文章:

  • 网站建设合同模板91075企业网站的推广建议
  • 网站建设主题什么是软文推广
  • 网站空间域名免费做问卷调查赚钱的网站好
  • 手机网站重要性青岛如何建立企业网站企业
  • 网站关键词优化多少钱做游戏网站的前景
  • 网站功能与内容设计的步骤第一次做网站选多大空间
  • 网站文章要求外国的免费网站网站
  • 网站开发的开题报告模板网站设计流程的步骤
  • asp 网站权限设计ui设计师自我介绍
  • 营销网站建设选择上海网站排名优化优化
  • 建站宝盒开通mysql数据库网站
  • 网站后台管理系统开发wordpress 图片自动下载
  • 做网站机构图用什么工具优礼品网站模板
  • 公司网站建设需要考虑什么问题青岛网站建设和推广
  • 网站链接做二维码晋江小学网站建设
  • 连锁连锁酒店网站建设方案呼和浩特网站建设
  • 更换dns能上国外网站吗站长之家seo一点询
  • 郓城网站制作知名电商平台有哪些
  • 龙岗商城网站建设上海十大策划公司排名
  • 建网站岑溪哪家强?wordpress维护
  • 网站建设高端网站网站开发用什么简单
  • 淮安建设企业网站公司做个官网要多少钱
  • 网站怎么样排名个人网页制作全过程
  • 保定专业做网站程序员接私活要达到什么水平
  • 影响网站速度因素 dns软件开发语言都有哪些
  • 网站建设在电子商务中意义政协机关网站建设
  • joomla 网站图标设计网站的步骤
  • 设计优秀网站作品湛江电气建站软件
  • 视频网站自己怎么做的福建省建设招投标网站
  • 软件项目网站建设实验报告蓟县做网站公司