【题目描述】

一个旅行者有一个最多能装V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。

【输入】

第一行:三个整数,V(背包容量,V≤200),N(物品数量,N≤30)和T(最大组号,T≤10);

第2..N+1行:每行三个整数Wi,Ci,P,表示每个物品的重量,价值,所属组号。

【输出】

仅一行,一个数,表示最大总价值。

【输入样例】

10 6 3
2 1 1
3 3 1
4 8 2
6 9 2
2 8 3
3 9 3

【输出样例】

20

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 1001
#define MOD 2520
#define E 1e-12
using namespace std;
int v,n,t;
int group[N][N],w[N],c[N],f[N];
void GroupPack(int groupp,int num)
{for(int j=v;j>=0;j--)for(int k=1;k<=groupp;k++){int q=group[num][k];//物品序号if(j>=w[q])f[j]=max(f[j],f[j-w[q]]+c[q]);}
}
int main()
{int p;cin>>v>>n>>t;for(int i=1;i<=n;i++){cin>>w[i]>>c[i]>>p;group[p][++group[p][0]]=i;//group[p][0]存储p组元素个数}for(int i=1;i<=t;i++)GroupPack(group[i][0],i);cout<<f[v]<<endl;return 0;
}

分组背包(信息学奥赛一本通-T1272)相关推荐

  1. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  2. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  3. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  4. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  5. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  6. 信息学奥赛一本通 1294:Charm Bracelet | OpenJudge NOI 2.6 7113:Charm Bracelet | 洛谷 P2871

    [题目链接] ybt 1294:Charm Bracelet OpenJudge NOI 2.6 7113:Charm Bracelet 洛谷 P2871 [USACO07DEC]Charm Brac ...

  7. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  8. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  9. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

最新文章

  1. 免费!这里有一份开发者进阶“宝典”求带走
  2. 我看过的Java方面的好文章
  3. python游戏程序-Python游戏趣味编程
  4. linux中怎么给用户设置不同的权限,linux怎么将一个文件设置为多个人拥有或者同一组内只让某两个用户有删除权限?...
  5. C++学习笔记(二)——交换函数(swap)
  6. 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
  7. lamp架构,搭建一个网络平台
  8. javascript 中面向对象实现 如何继承
  9. “得屌丝者得天下”,小米集团回应其高管言论:该员工已请辞...
  10. Super-palindrome 模拟+思维
  11. Scaling For iPad mini
  12. Laravel5中基于jQuery实现分层级的类目树结构方法
  13. linux机顶盒线刷教程,网络机顶盒刷机教程和详细方法,实现软件任意安装,电视免费看...
  14. 如何用卡片法写论文?
  15. 借用传感器用计算机测速度题,传感器原理及应用试题库(已做)
  16. matconvnet
  17. 系统架构设计师考试题库笔记重点3:嵌入式系统设计
  18. java说的tps pv是什么_面试官常问你项目的PV量或TPS,怎么说,给你一个概念
  19. PHP玄帧道长,青龙道长率众弟子朝真“凝真宫”
  20. Chrome 优化指南

热门文章

  1. 学Python半年,56岁的潘叔叔晒出99分成绩单,你呢?
  2. 一个HTTP请求,把网站打裂开了!
  3. 学会这几招,晋升不慌了!
  4. 用数据告诉你,新型冠状病毒传染性有多强?
  5. FinTech专题:支付平台建设资金底线防火墙的杀手级设计方案
  6. Linux 查看ERROR日志方法
  7. spring + hibernate + mysql 事务不回滚
  8. 数据结构基础(6) --顺序栈的设计与实现
  9. webrtc在远程助手应用的实践
  10. PAT 1003 Sharing (25)