洛谷P1757 通天之分组背包

【题解-洛谷】P1757 通天之分组背包 直达通天路·小 A 历险记第二篇。 阅读详情
题目链接:点击进入
思路

分组背包,套板子

代码
#include<iostream>
#include<string>
#include<map>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define best 131 
#define INF 0x3f3f3f3f
#define P pair<int,int>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double eps=1e-5;
const double pai=acos(-1.0);
const int N=1e3+10;
const int maxn=110;
const int mod=1e9+7;
//const int d[4][2]={0,1,1,0,-1,0,0,-1};
int n,m,k,t,w[N],v[N],c[N],g[N][N];
ll f[N];
int main()
{
//	ios::sync_with_stdio(false);
    //memset(f,1e9,sizeof(f));
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;i++)
    {
    	scanf("%d%d%d",&w[i],&v[i],&k);//k表示第i个物品的小组编号
    	t=max(t,k);//求小组组数
    	c[k]++;//小组k的物品+1
    	g[k][c[k]]=i; //g[i][j]表示存储小组i中的第j个物品的编号
	}
	for(int i=1;i<=t;i++)
	{//小组
		for(int j=m;j>=0;j--)
		{ //容量
			for(int z=1;z<=c[i];z++)
			{//小组中的物品
				if(j>=w[g[i][z]])
				{//小组i中物品z的容量
					f[j]=max(f[j],f[j-w[g[i][z]]]+v[g[i][z]]);
				}
			}
		}
	}
	printf("%lld\n",f[m]);
	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,表示物品的重量,利用价值,所属组数。 输出格式 一个数,最大的利用价值 阅读详情

相关推荐

Hyper-V显卡直通实战:手把手解决Windows 11虚拟机错误码43(附完整参数配置)

本文详细解析了在Windows 11 Hyper-V虚拟机中配置显卡直通时遭遇错误码43的根源,并提供了从环境检查、核心PowerShell命令(如Set-VMGpuPartitionAdapter)配置到虚拟机内驱动替换的完整实战解决方案,帮助用户彻底解决显卡驱动无法加载的问题。

weixin_29238147的博客 896

(分组背包)洛谷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

Hifiasm参数调优实战:当N50不理想时的7个排查方向与解决方案

本文详细解析了Hifiasm参数调优实战,针对基因组组装中N50不理想的7个排查方向与解决方案。通过调整--hom-cov、-D、-N等核心参数,结合HiFi数据和参考基因组分析,有效提升组装质量。文章以猪毛菜基因组为例,展示了从2.1MB到4.3MB的N50优化过程,为生物信息学研究者提供实用指南。

weixin_30642561的博客 425

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

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

一只摸鱼的bbc 1203

vue微前端qiankun框架学习到项目实战,基座登录动态菜单及权限控制

技术无关,独立开发,独立部署,增量升级,独立运行,微前端的核心目标是将巨石应用拆解成若干可以自治的松耦合微应用。

前端开发工程师 9747

Matlab:imageDatastore() 高效读取图像数据集的实战技巧

本文详细介绍了Matlab中imageDatastore()函数的高效使用技巧,帮助用户从繁琐的手动读取图像数据集中解放出来。通过核心语法、关键参数(如IncludeSubfolders、LabelSource、ReadSize)的解析,以及数据集分割、打乱等进阶实战操作,指导读者构建稳定、高效的图像数据读取管道,特别适用于大型图像数据集处理和机器学习项目。

hill8的博客 1100

洛谷 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

基于OpenCV的围棋终局识别与胜负判定系统实现

计算机视觉是人工智能领域的关键技术,它使计算机能够从数字图像或视频中获取、处理和分析信息。其核心原理在于通过图像处理算法提取特征,并基于这些特征进行识别、分类和测量。在工程实践中,计算机视觉技术为自动化、智能化应用提供了强大支持,广泛应用于工业检测、自动驾驶、医疗影像分析等领域。本文聚焦于一个具体的应用场景:利用OpenCV库实现围棋终局识别。通过图像预处理、棋盘检测与透视校正、交叉点定位等步骤,结合围棋规则逻辑,构建了一套从棋盘图像自动判定胜负的解决方案。该方案涉及自适应二值化、霍夫变换、连通域分析等关键

weixin_29100927的博客 279

洛谷 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

UOS忘记密码别慌!用LiveCD工具5分钟搞定,附命令行救援模式详细步骤

本文详细介绍了UOS系统密码遗忘时的两种解决方案:图形化LiveCD工具和命令行救援模式。针对普通用户,LiveCD工具提供5分钟快速重置密码的便捷操作;而技术人员可通过命令行深度解析系统分区挂载与密码修改流程。文章还包含安全加固建议,帮助用户预防类似问题发生。

weixin_27032989的博客 589

Far planner 部署真实小车 & 树莓派部署lego_loam

今天开一贴Far planner的部署,也算是lego loam的部署吧 因为state_estimation用的是lego loam小车底盘: 轮趣的mini差速底盘外加多一层钢板,中间层用来放velodyne的电池(小的电池还没到,大的电池塞不进去目前)和velodyne信号盒子。前面还可以加一个相机。底层用来放小车的电池和马达等设备了,底层不用动。最上面一层用来安装velodyne16线雷达,需要额外钻孔(如果买轮趣的话可以找老板钻个孔?我也不确定,我自己钻的)。 雷达固定螺丝用的是 1/4-20*3

博客 4302

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

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

Masker 400

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

洛谷 P1757 通天之分组背包

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

HJ921004的博客 164

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

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

samscream的博客 602

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

洛谷 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

洛谷 P1757 - 通天之分组背包

题目描述 P1757 通天之分组背包 解法:分组背包问题 #include <bits/stdc++.h> using namespace std; int m, n, cn; int f[1010], a[1010], b[1010], c[101][20],cc[101]; int main() { scanf("%d%d", &m, &n); ...

Aries_young的博客 295

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

几乎模板啦兄弟们

m0_74969835的博客 797

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

原题传送门 思路:分组背包问题,比01背包和完全背包复杂一点,但是套路都差不多,只是分组背包问题的遍历得从枚举每一组开始,再枚举剩余容量,接着枚举各组里物品的序号,然后满足条件就套用状态转移方程,最后输出即可. 代码参考 在这里插入代码片 ...

Bertil的博客 459
上一篇: upc-Final Standings(dp)
下一篇: 洛谷P1060 开心的金明(01背包)
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值