背包dp模板

01背包

for (int i=1; i<=n; i++) //物品
{
	for (int j=1; j<=V; j++) //容积 
    {    
        // 装得下 分为 1.装 2.不装
		if (j>=v[i]) dp[j] = max(tmp[j],tmp[j-v[i]]+v[i]);
		else dp[j] = tmp[j]; // 装不下第i个
	}
	for (int j=1; j<=V; j++) tmp[j] = dp[j]; //滚动数组
}

滚动数组

for (int i=1; i<=n; i++) //物品
{
	for (int j=V; j>=v[i]; j--) //容积 
    {    
		dp[j] = max(dp[j],dp[j-v[i]]+v[i]);
	}
}

无滚动数组 倒着遍历

完全背包

	for (int i=1; i<=m; i++) {
		for (int  j=1; j<=t; j++) {
			if (j<tim[i]) dp[j] = tmp[j];
			else dp[j] = max(tmp[j], dp[j-tim[i]]+val[i]);
		}
		for (int j=1; j<=t; j++) tmp[j] = dp[j];
	}

滚动数组

	for (int i=1; i<=m; i++) {
		for (int j=tim[i]; j<=t; j++) {
			dp[j] = max(dp[j], dp[j-tim[i]]+val[i]);
		}
	}

 无滚动数组 顺着遍历

 

相关推荐

  1. 01背包问题dp

    2024-03-24 09:32:03       20 阅读
  2. 01背包dp问题

    2024-03-24 09:32:03       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 09:32:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 09:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 09:32:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 09:32:03       20 阅读

热门阅读

  1. SQL Server 的日志文件占满硬盘时处理方法

    2024-03-24 09:32:03       14 阅读
  2. 微服务架构服务拆分原则

    2024-03-24 09:32:03       17 阅读
  3. 与epoll媲美的io_uring

    2024-03-24 09:32:03       15 阅读
  4. [ABC298D] Writing a Numeral

    2024-03-24 09:32:03       17 阅读
  5. 备战蓝桥杯(前缀和、差分篇)

    2024-03-24 09:32:03       17 阅读