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

代码随想录第四十一天打卡

01背包问题 二维

代码随想录

视频讲解:带你学透0-1背包问题!| 关于背包问题,你不清楚的地方,这里都讲了!| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili

#include <iostream>
#include <vector>
using namespace std;
int n,bag;
void solve(){vector<int>weight(n,0);vector<int>value(n,0);for (int i=0;i<n;i++)cin>>weight[i];for (int i=0;i<n;i++)cin>>value[i];vector<vector<int>>dp(n,vector<int>(bag+1,0));for (int i=weight[0];i<=bag;i++)dp[0][i]=value[0];for (int i=1;i<n;i++){//物品for (int j=0;j<=bag;j++){//背包容量if (j<weight[i])dp[i][j]=dp[i-1][j];else dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]);}}cout<<dp[n-1][bag];
}
int main(){cin>>n>>bag;solve();return 0;
}

01背包问题 一维

代码随想录

视频讲解:带你学透01背包问题(滚动数组篇) | 从此对背包问题不再迷茫!_哔哩哔哩_bilibili

#include <iostream>
#include <vector>
using namespace std;
int n, bag;
void solve() {vector<int>weight(n, 0);vector<int>value(n, 0);for (int i = 0; i < n; i++)cin >> weight[i];for (int i = 0; i < n; i++)cin >> value[i];vector<int>dp(bag + 1, 0);for (int i = 0; i < n; i++) {for (int j =bag ; j >=weight[i] ;j--) {dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}}cout << dp[bag] << endl;
}
int main() {cin >> n >> bag;solve();}

416. 分割等和子集

本题是 01背包的应用类题目

代码随想录

视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集_哔哩哔哩_bilibili
 

class Solution {
public:bool canPartition(vector<int>& nums) {int sum=0;for (int num:nums)sum+=num;if (sum%2==1)return false;else sum/=2;vector<int>dp(sum+1,0);for (int i=0;i<nums.size();i++){//物品for (int j=sum;j>=nums[i];j--){//背包容量dp[j]=max(dp[j],dp[j-nums[i]]+nums[i]);}}if (dp.back()!=sum)return false;else return true;}
};


 

http://www.lryc.cn/news/375271.html

相关文章:

  • 矩阵补全IGMC 学习笔记
  • 面试题之CSS
  • MFC扩展库BCGControlBar Pro v35.0新版亮点:重新设计的工具栏编辑器等
  • python调用SDK的问题
  • html入门综合练习
  • 函数模板的具体化
  • 【Linux 内存管理】
  • AJAX 数据库
  • 力扣719.找出第K小的数对距离
  • 富格林:掌握可信出金交易策略
  • HCS-华为云Stack-容器网络
  • 【CSS in Depth2精译】1.1 层叠
  • 【读博日记】拓扑结构(待修正)
  • QT 中setVisible()和setEnabled()的区别
  • 速度(velocity)、加速度(acceleration)、急动度(jerk)和弹跳度(snap)傻傻分不清楚?
  • 【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
  • 初级篇-Docker容器知识
  • 【抽代复习笔记】19-群(十三):奇偶置换、循环置换的几个定理及例题
  • RT-Thread简介及启动流程分析
  • MCU嵌入式AI开发笔记-视频笔记同步更新
  • DoIP——step2:车辆发现
  • 【动态规划】0-1背包问题
  • WordPress 高级缓存插件 W3 Total Cache Pro 详细配置教程
  • 每日一题——Python实现PAT乙级1012 数字分类(举一反三+思想解读+逐步优化)五千字好文
  • Unity2D游戏制作入门 | 13 ( 之人物三段攻击 )
  • DAY04 HTMLCSS
  • Linux_理解程序地址空间和页表
  • NAND闪存市场彻底复苏
  • 过拟合与正则化
  • VMware挂载NAS存储异常处理