洛谷 P1757【通天之分组背包】

【题解-洛谷】P1757 通天之分组背包 直达通天路·小 A 历险记第二篇。 阅读详情

题目链接

思路:

  • 很简单的分组背包裸题,在做过AreYouBusy(pre blog)之后已经可以一遍过。
  • 每组选一,即AtMostOne问题。一组一组平推,每次用rec数组记录,属于做过一遍就不会忘的方法。
  • 注意转移方程不要写错,dp[ j ] 代表可能已经使用了本组中某物品之后得到的最大值,rec[ j - w[i] ] + v[ i ] 代表是第一次选本组中的物品。

代码:

​//16ms, 656KB 


#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

const int maxn = 1005;
const int maxw = 1005;

int w[maxn],v[maxn],t[maxn];
int dp [maxw];
int rec[maxw];

int main(){
	int W,n;
	cin>>W>>n;
	int team = 1;
	memset(dp,0,sizeof(dp));
	for(int i=1;i<=n;i++){
		cin>>w[i]>>v[i]>>t[i];
		if(t[i] > team) team = t[i];
	}
	for(int tcur = 1 ; tcur <= team ; tcur++){
		for(int i=0;i<maxw;i++) rec[i] = dp[i];
		for(int i=1;i<=n;i++){
			if(t[i] != tcur) continue;
			for(int j=W;j>=w[i];j--)
				dp[j] = max(dp[j] , rec[j-w[i]] + v[i]);
		}
	}
	cout<<dp[W]<<endl;
	return 0;
}​
洛谷 P1757 通天之分组背包(动规分组背包) P1757 通天之分组背包 时间限制1.00s 内存限制125.00MB 题目背景 直达通天路·小 A 历险记第二篇 题目描述 自 01 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。 输入格式 两个数 m,n,表示一共有 n 件物品,总重量为 m。 接下来 n 行,每行 33 个数 a_i,b_i,c_i,表示物品的重量,利用价值,所属组数。 输出格式 一个数,最大的利用价值 阅读详情

相关推荐

STM32 超声波模块输入捕获测距(标准库)

通道2设置为下降沿触发,触发瞬间会将CNT的记录到CCR2中,由于上升沿触发时已经将CNT置零所以此时的CNT的值就是高电平的持续时间。通道1设置为上升沿触发,触发的瞬间会将CNT的值记录到CCR1里面,同时设置通道1触发带有从模式,并把从模式设置为置零CNT。超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。电路板上有四个引脚:VCC、GND、Trig(触发)、Echo(回应)。输入捕获原理可以看看这位大佬,感觉写的很清楚,工作电压与电流:5V,15mA。感测角度:不小于15度。

qq_62425900的博客 2082

【洛谷】P1757 通天之分组背包(分组背包)

几乎模板啦兄弟们

m0_74969835的博客 797

基于微信小程序的扫码签到系统源码

大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具。代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。签到管理:新增签到,点击查看码展示二维码(有时效性)springboot mybatis 小程序。签到管理:查看用户创建的签到,可删除。用户管理:查看注册用户信息,及删除。签到记录:查看用户签到记录:可删除。个人信息:展示个人信息,可修改。统计分析:查看用户,签到数量。签到记录:查看用户签到记录。登录注册(含授权登录)我的签到:查看签到记录。

wfuhui的博客 5224

洛谷P1757 通天之分组背包 题解提供4种做法

洛谷P1757 通天之分组背包 题解提供4种做法:方法一:二维数组, 方法二:结构体,方法三:一维数组解,方法四:map解

m0_73782375的博客 630

ByteTrack参数调优全攻略:从原理到实战(含YOLOv8示例)

本文深入解析了ByteTrack多目标跟踪算法的核心原理与参数调优策略。通过拆解其独特的两阶段关联机制,并结合YOLOv8检测器,提供了针对不同应用场景(如拥挤行人、高速车辆)的精细化参数调整指南与实战示例,旨在帮助开发者解决ID切换、目标丢失等工程落地难题,提升跟踪系统的鲁棒性与实用性。

cheese的博客 322

大模型辅助意图识别,更懂你的客户洞察平台

通过大量的学习和训练,大模型不仅具备庞大的知识库,更掌握着丰富的语言模式和语义规则,能够精准地理解每一段对话的含义,为每一通对话进行全面、准确的标注。主要来自客户的行为信息,将客户与机构的重要时刻以时间轴的方式呈现出来,掌握客户生命周期的完整脉络,识别一些容易被忽略的重要营销MOT(Moment Of Truth,关键时刻研究)机会,提示理财经理跟进处理。将客户的历史交易数据和埋点系统采集的客户行为数据结合起来,辅以部分内容资讯的偏好探测,综合分析和预测客户在各个维度的喜好程度,实现千人千面的客户推送。

Dezhuzhineng的博客 2159

p1757通体之分组背包

有一个体积为V的背包,有N组物品,从N组物品中每组只能选择一件物品,我们要达到的要求是让物品的总体积不超过背包的体积V,并且让整个背包中所装的物品价值最大。让我们回到小明的通天背包,很明显发现这个问题中既没有给我们分组的组数又没有在第一时间告诉我们每一个组都有几个物品,但其实还是挺简单的。我们只需要在每次转移中对单个的第K个物品进行计算就可以,其实在我看来也可以用0,1背包来理解。该问题的集合是只从前I组物品中每组选择一件物品且总体积小于V的所有集合。在第I组物品中有什么样的方式呢?选第i组第一个物品。

silentzdw的博客 172

Qi标准下的充电协议及其记忆技巧

记忆无线充电协议中的。

m0_73991989的博客 1320

洛谷 P1064 - 金明的预算方案(分组背包)

由于想要选择任意一个附件都必须要带上它对应的主件,那么可以不考虑该附件了,转而在遇到其主件的时候**考虑要不要带上这个附件**,那么不难想象,每个主件就必定构成了一个**背包组**,所以是一个**分组背包问题**,一个组里面就对应了多个**主附件的搭配方案**。

weixin_53024141的博客 934

VSCode+Pyside6开发环境配置全攻略:从安装到实战UI设计

本文提供了一份详细的VSCode与Pyside6集成开发环境配置指南。从创建Python虚拟环境、安装必备VSCode插件,到深度配置PYQT Integration插件以打通Qt Designer与代码编译,最后通过一个待办事项应用实战演示了从UI设计到业务逻辑绑定的完整工作流,旨在帮助开发者建立高效、可维护的GUI开发环境。

qq_27496129的博客 980

【YOLO11改进 - C3k2融合】C3k2融合DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测

【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1054

洛谷 P1757 通天之分组背包

洛谷 P1757 通天之分组背包

qq_17807067的博客 361

Vue3 - [最强] 超详细 Element Plus 组件库主题颜色进行 “统一全局“ 替换,将默认的蓝色主题色更换为其他自定义颜色,覆盖原来的主题色改为自己的颜色(完美解决主题色不生效、没反应)

elementplus修改主题色,vue3+element-plus主题色更换,vue3vite如何修改扩展elementplus主题色样式,全局设置elementplus主题色,有什么办法可以直接全局修改主题色,对elementplus默认蓝色不满意怎么替换更改其他颜色,elementplus覆盖默认主题色,elementplus主题色官方文档,vue3中修改elementplus主题色,elementplus修改主题色不生效怎么办,elementplus如何修改主题颜色,eleme

🏆 前端领域优质创作者 1万+

洛谷P1757 通天之分组背包

分组背包模版

夜深人静写代码 919

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

(分组背包)洛谷P1757通天之分组背包

洛谷P1757通天之分组背包 思路: 分组背包模板题。 代码: #include<bits/stdc++.h> const int N=1e6+10; const int mod=1e7+9; const int maxn=0x3f3f3f3f; const int minn=0xc0c0c0c0; const int inf=99999999; using namespace std...

Z7784562的博客 291

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

洛谷 P1757:通天之分组背包

令 f[i][j] 表示将前 i 组物品放入容量为 j 的背包中可以获得的最大价值,vol[i][k] 表示第 i 组第 k 个物品的体积,val[i][k] 表示第 i 组第 k 个物品的价值,cnt[i] 表示第 i 组物品的个数,则分组背包问题的状态转移方程为:f[i][j]=max(f[i-1][j], f[i-1][j-vol[i][k]]+val[i][k]), j>=vol[i][k]

hnjzsyjyj的专栏 377

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

洛谷 P1757 通天之分组背包 题解

分组背包 动态规划 洛谷题解 C++代码 附详细题解

一只摸鱼的bbc 1203

洛谷 P1757 通天之分组背包 分组背包

https://www.luogu.com.cn/problem/P1757 思路:分组背包裸题。 #include<bits/stdc++.h> #define INF 0x3f3f3f3f #define eps 1e-8 #define pr pair<int,int> using namespace std; typedef long long ll; const...

xiji333的博客 290

洛谷P1757 通天之分组背包 //分组背包

分组背包裸体 分组背包和普通01背包的区别就是分组背包最外层为枚举的是组数(01背包是物品数),然后在最内层枚举的是枚举各组中物品的序号,这样每个体积下,每种物品只会选择一个价值最大的。idx数组是将最组中每个物品的序号记录下来。 #include&lt;iostream&gt; #include&lt;bits/stdc++.h&gt; using namespace std; int d...

samscream的博客 602

洛谷 P1757 通天之分组背包

题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣。一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。 输入格式 两个数m,n,表示一共有n件物品,总重量为m 接下来n行,每行3个数ai,bi,ci,表示物品的重量,利用价值,所属组数 输出格式 一个数,最大的利用价值 输入输出样例 ...

qq_44343213的博客 279

洛谷【P1757】通天之分组背包

浅谈\(DP\):https://www.cnblogs.com/AKMer/p/10437525.html 题目传送门:https://www.luogu.org/problemnew/show/P1757 分组背包,把一组物品看做是一个物品,不过这个物品可以有很多种变幻,然后像\(01\)背包一样做,每次选择所有的变幻即可。 时间复杂度:\(O(nm)\) 空间复杂度:\(O(m)\...

aga28832的博客 208

洛谷——P1757 通天之分组背包

https://www.luogu.org/problem/show?pid=1757#sub 题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣。一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。 输入输出格式 输入格式: 两个数m,n,表示一共有n件...

agcozdwdfvds08078的博客 117
上一篇: HDOJ 2159【Fate】
下一篇: HDOJ 1712【ACboy needs your help】
Masker_43
博客等级 码龄8年 5粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值