洛谷 P1757 通天之分组背包

P1757 通天之分组背包

题目背景

直达通天路·小A历险记第二篇

题目描述

自01背包问世之后,小A对此深感兴趣。一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。

输入输出格式

输入格式:

 

两个数m,n,表示一共有n件物品,总重量为m

接下来n行,每行3个数ai,bi,ci,表示物品的重量,利用价值,所属组数

 

输出格式:

 

一个数,最大的利用价值

 

输入输出样例

输入样例#1: 复制
45 3
10 10 1
10 5 1
50 400 2
输出样例#1: 复制
10

说明

1<=m<=1000 1<=n<=1000 组数t<=100

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 1002
using namespace std;
int n,m,k,ans;
int dp[MAXN][MAXN];
int w[MAXN],v[MAXN],c[MAXN];
int dfs(int i,int j){if(dp[i][j]!=-1)    return dp[i][j];if(i==n+1)    return ans=0;if(j<w[i]||c[i]==c[i-1])    ans=dfs(i+1,j);else    ans=max(dfs(i+1,j),dfs(i+1,j-w[i])+v[i]);return dp[i][j]=ans;
}
int main(){memset(dp,-1,sizeof(dp));cin>>m>>n;int i;for(i=1;i<=n;i++) cin>>w[i]>>v[i]>>c[i];cout<<dfs(1,m)<<endl;
}

 

转载于:https://www.cnblogs.com/cangT-Tlan/p/7931023.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课时109.外边距合并现象(掌握)

我们先写一个案例&#xff0c;通过案例来了解 它们之间的水平距离就是两个间距的和 我们看完水平再来看垂直方向 在默认布局的垂直方向上&#xff0c;默认情况下外边距是不会叠加的&#xff0c;会出现合并现象&#xff0c;谁的外边距比较大就听谁的 本文转载于:猿2048➜https:…

纯 CSS实现三角形

最近项目上做评论回复&#xff0c;设计师提高交互性特意设计了小三角&#xff0c;如下&#xff1a; 下面介绍一下实现效果的css方法&#xff1a; 1.border 通过设置上下左右border宽度来实现。 首先查看一下全部设置的效果&#xff1a; <style>   .triangle{     w…

python access_Python3 os.access() 方法

Python3 os.access() 方法概述os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。语法access()方法语法格式如下&#xff1a;os.access(path, mode);参数path -- 要用来检测是否有访问权限的路径。mode -…

小米的java待遇怎么样_【Java工资】小米2021年Java工资待遇-看准网

已经不是面试官迟到的问题了&#xff0c;是约好了面试时间&#xff0c;结果彻底没有然后了&#xff0c;这种言而无信我头一回见。小米运营部门令人困惑的工作作风&#xff0c;简单总结一句就是&#xff1a;敷衍不走心&#xff0c;面试规则内部都不统一。两次面小米&#xff0c;…

Spring MVC表单验证(带批注)

这篇文章提供了一个简单HTML表单验证示例。 它基于带有注释的Spring MVC示例。 该代码可在GitHub的Spring-MVC-Form-Validation目录中找到。 数据 在此示例中&#xff0c;我们将使用bean和JSR303验证批注&#xff1a; public class MyUser {NotNullSize(min1,max20)private …

课时106.边框练习(理解)

让我们做出来如下的样式&#xff1a; 1.首先看下有几个边框&#xff0c;就做几个div&#xff0c;用简单方法div.box$*6 tab键 2.然后给它们设置宽高 3.然后依此来做边框 第一个&#xff1a;有四种方法&#xff0c;第一种最简单 第二个&#xff1a;有两种方法&#xff0c;第二…

Bzoj3998 弦论

物理题目传送门 求第k大的子串&#xff1f;SAM模板题啊 CLJ的论文都讲了怎么做啊&#xff0c;把自动机看成一个后缀Trie求出size让后像多叉平衡树那样乱搞就好了~ 比前两个哈希的题好多了~ &#xff08;顺便&#xff0c;hdu高亮好好看啊&#xff09; #pragma GCC opitmize(&quo…

java需要先安装jdk_谢谢知乎。Java初学者首先下载 JDK 开发环境,然后再下 eclipse 对吗?那 tomcat是什么?还需要安装吗?...

程序猎人Till All are One!何马、FAN 等人赞同这个问题&#xff0c;作为有些Java经验的人&#xff0c;都会觉得太初级。而且&#xff0c;我认为可能很多真正的高手不屑于跑来回答这种问题。本来我也不打算回答的&#xff0c;但最近刚好凭兴趣在学Node.JS&#xff0c;顺便学习加…

JavaEE重新审视设计模式:装饰器

去年的这个时候&#xff0c;我写了一系列有关JavaEE实现设计模式的博客文章。 大约一年后&#xff0c;我意识到我错过了我最喜欢的图案装饰器。 装饰器模式基本上是通过装饰其他对象来扩展对象功能的方法&#xff0c;这些对象可以包装目标对象并为其添加自身的行为。 如果您从…

课时105.边框属性下(掌握)

2.3连写&#xff08;分别设置四条边的边框&#xff09; border-width:上 右 下 左; border-style:上 右 下 左; border-color:上 右 下 左; 注意点&#xff1a; 1.这三个属性的取值是按顺时针来赋值的 也就是按照上右下左来赋值&#xff0c;而不是按照日常生活…

怎么用pycharm更新python_利用PyCharm操作Github(仓库新建、更新,代码回滚)

Github是目前世界上最流行的代码存储和分享平台&#xff0c;而PyCharm是Python圈中最流行的IDE&#xff0c;它很好地支持了Git操作。本文将会介绍如何利用PyCharm来连接Github&#xff0c;同时演示Github上的仓库新建、更新&#xff0c;以及代码回滚。在这之前&#xff0c;需要…

新mac 下第一次 安装 mongodb 步骤

新入手mac&#xff0c;安装mongo步骤记录&#xff1a;不建议使用网上的brew安装方法&#xff0c;因为试了半天没有成功&#xff0c;应该是新版本限制比较多&#xff01; 从mongodb官网下载mac版本mongo&#xff1a; 1.访问MongoDB官方下载地址 http://www.mongodb.org/download…

201621123065《JAVA程序设计》第11周学习总结

1. 本周学习总结 2. 书面作业 1. 源代码阅读&#xff1a;多线程程序BounceThread 1.1 BallRunnable类有什么用&#xff1f;为什么代码中需要调用Thread.sleep进行休眠&#xff1f; BallRunnable类实现Runnable接口&#xff0c;支持多线程&#xff1b;调用Thread.sleep进行休眠则…

vue使用v-for循环,动态修改element-ui的el-switch

在使用element-ui的el-switch中&#xff0c;因为要用v-for循环&#xff0c;一直没有成功&#xff0c;后来仔细查看文档&#xff0c;发现可以这样写 <el-switch v-for"(item, key) in list" v-model"item.is" :key"key" :active-value"…

前端加按钮将图片另存为_Windows 10系统如何将自己的照片制作成文件夹图标

我们大家都在电脑上建有很多文件夹&#xff0c;有时候查找自己需要的资料文件夹时不太容易&#xff0c;很浪费时间。如果将自己的照片作为常用文件夹的图标&#xff0c;看起来醒目查找时也更为方便些。下面就介绍具体的操作教程。一、将照片格式转换为图标文件格式在电脑上将图…

codeforces 125 A-E 补题

A Measuring Lengths in Baden 进制转换 水题 #include<bits/stdc.h> using namespace std;int main() {int n;scanf("%d",&n);int an/36;n-a*36;int b(n)/3;if((n%3)>2)b;while(b>12)b-12,a1;printf("%d %d\n",a,b);return 0; }B Simple …

在JAXB解组期间应用名称空间

对于某些XML模式来说&#xff0c;它是一组严格的规则&#xff0c;用于规定XML文档的结构方式。 但是对于其他人来说&#xff0c;通常的准则是指出XML的外观。 这意味着有时出于某些原因人们希望接受不符合XML模式的输入。 在此示例中&#xff0c;我将演示如何利用SAX XMLFilter…

java怎么把文件写入到usb里_如何创建PowerShell脚本以将文件复制到USB闪存驱动器?...

此代码最后准备使用可移动驱动器(例如插入的USB驱动器)&#xff1a;$drives [System.IO.DriveInfo]::GetDrives()$r $drives | Where-Object { $_.DriveType -eq Removable -and $_.IsReady }if ($r) {return ($r)[-1]}throw "No removable drives found."这种方式…

利用css transition属性实现一个带动画显隐的微信小程序部件

我们先来看效果图 像这样的一个带过渡效果的小部件在我们实际开发中的应用几率还是比较大的&#xff0c;但是在开发微信小程序的过程中可能有的小伙伴发现transition这个属性它不好使&#xff08;下面说明&#xff09;所以我们这个时候会考虑去使用微信官方提供的wx.createAnim…

c语言学生管理系统链表(dev vs2012下可以运行)

struct student { char name[10]; char sex[5]; long int num;//学号 int xuhao; int age; float score[3]; float averange; char DJ;//存放等级哦 struct student *next;};//定义结构体变量保存 名字 性别 年龄 成绩] 结构体声明int n;//存放学生人数int man;//存放统计的男生…