vijos 1250 最勇敢的机器人
题目描述
Wind设计了很多机器人。但是它们都认为自己是最强的,于是,一场比赛开始了~
机器人们都想知道谁是最勇敢的,于是它们比赛搬运一些物品。它们到了一个仓库,里面有n个物品,每个物品都有一个价值Pi和重量Wi,但是有些物品放在一起会爆炸,并且爆炸具有传递性。(a和b会爆炸、b和c会爆炸,则a和c会爆炸)。
每个机器人的最大承载重量为wmax,请问它们最多可以拿多少价值的物品。
你能帮助它们吗?
输入格式
第1行为n,Wmax,k(0<=n,Wmax,k<=1000)
接下来n行,为每个物品的Pi,Wi(0<=Pi<=1000,1<=Wi<=10,均为整数)
再接下来k行,每行2个数字a,b表示a和b会发生爆炸
输出格式
输出1行,为最大可能价值
样例输入
3 10 1
100 1
200 5
10 5
1 2
样例输出
210
[样例说明]
共有3个物品,1,2两个不能一起。
我们可以选择2和3号物品,价值为200+10=210,重量是5+5=10,刚刚能够搬走
对于100%的数据n<=1000,wmax,k<=1000
每个物品的Pi,Wi(0<=Pi<=1000,1<=Wi<=10,均为整数)
还记得那个每组只能取一个的分组背包吗?这里就是一个经过包装的模型,我们可以通过并查集进行分组,然后dp
for i 组
for j 重量
for k 遍历组内物品
为什么j要在外面呢?我们简单证明一下:
物品1重量为x,物品2重量为y
如果两个都装,那么就要x+y,也就是说,当j=x+y时,遍历第二个物品时,
f[x]必须已经包含装有物品1的信息,可是x<x+yx,当时j还没循环到,自然可以避免装在一起。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[1005],b[1005],fa[1005];
int g[1005][1005],f[1005];
int n,m,k,x,y,u,v;
int get(int x)
{if(fa[x]==x) return x;else return fa[x]=get(fa[x]);
}
int main()
{cin>>n>>m>>k;for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);for(int i=1;i<=n;i++) fa[i]=i;for(int i=1;i<=k;i++) {scanf("%d%d",&x,&y);u=get(x);v=get(y);if(u!=v) fa[v]=u;}for(int i=1;i<=n;i++) {x=get(i);g[x][0]++;g[x][g[x][0]]=i;}for(int i=1;i<=n;i++) if(g[i][0]) {for(int j=m;j>=0;j--) for(int k=1;k<=g[i][0];k++) {x=g[i][k];if(j>=b[x]) f[j]=max(f[j],f[j-b[x]]+a[x]);}}cout<<f[m];return 0;
}
vijos 1250 最勇敢的机器人相关推荐
- 作文 深海机器人_海底寻宝机器人
又找到在海底的宝藏了!大家既高兴又难过,高兴是因为又发现了宝藏了,难过是因为,又有人要潜入海底. 你想,我们可以叫机器人来帮忙呀,说不定未来就有机器人来帮忙找宝藏.它有着炫酷的外形,身体是没有一点杂质 ...
- HTTP权威指南 - Web机器人
Web机器人是能够在无摇人类干预的情况下自动进行一系列Web事务处理的软件程序. 很多机器人会从一个Web站点逛到另一个Web站点, 获取内容,跟踪超链,并对它们找到的数据进行处理.根据这些机器人自动 ...
- 洛谷 深基 第4部分 基础数学与数论(19-21课)
洛谷 深基 第4部分 基础数学与数论 第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...
- 元宇宙与未来生活的100年畅想
导读:这篇文章展现了元宇宙对于人类生活潜在的深刻影响,并通过故事的形式展现出来.100年后的今天,穿越时间和空间的推理,我们将看到人类与机器人在元宇宙和星际文明中同生共存的样子. 作者 / 来源:周掌 ...
- 机器人行业研究报告:智能化造就新时代,自动化生产成刚需
来源:东莞证券 作者:黄秀瑜 核心观点 智能转型时代,机器人前景可期.智能化时代到来,工业机器人和服务 机器人逐渐普及.疫情后制造业走出低迷,中国工业机器人月产量创新 高.全球老龄化问题日益严重,中国 ...
- 【图文解析】带你看清全球机器人四大家族现状,四家企业瓜分中国57%、全球50%的市场份额...
来源:前瞻经济学研究院 摘要:工业机器人是智能制造业最具代表性的装备. 工业机器人是智能制造业最具代表性的装备.工业机器人集精密化.柔性化.智能化.软件应用开发等先进制造技术于一体,通过对过程实施检测 ...
- 世园会开幕式上的机器人_【在国际智能制造大会暨智能机器人大会开幕式上的致辞】世界智能机器人大会...
开幕式上的致辞]世界智能机器人大会 在国际智能制造大会暨智能机器人大会开幕式上的致辞 尊敬 的各位院士.各位专家, 各位嘉宾,女士们.先生们.朋友们: 大家上午好! 在这个秋高气爽.秋色宜人的美好时节 ...
- 击败谷歌AI拿下“最强”称号?Facebook AI开源聊天机器人Blender
如今,我们对虚拟语音助手已经十分熟悉.无论是苹果 Siri.亚马逊 Alexa,还是百度小度,阿里巴巴天猫精灵,在提供帮助之余,还经常扮演着被无聊人类调戏的对象. 就在你来我往的博弈之间,语音助手们练 ...
- 朵朵糖故事机器人怎么更新_点播故事 |孙悟空三打白骨精
故事简介爸爸妈妈们,还记得你们小时候听过的故事吗?在孩子睡觉之前,给宝宝讲故事,将宝宝慢慢带入梦乡,不仅能让宝宝体验故事中的情节,更让宝宝觉得有一种安全感,让宝宝知道宝宝即使在睡觉的时候也有爸爸妈妈的 ...
最新文章
- Heartbeat V2.x双机热备安装
- 链路追踪之zipkin
- 怎样格式化电脑_电脑硬盘故障恢复软件:坏硬盘数据怎么恢复?
- tensorflow tf.train.batch()
- linux 配置 java tomcat,Linux配置Tomcat和JDK
- 数据结构:树套树-替罪羊树套权值线段树
- 【一步一步】Spring 源码环境搭建
- uni-app配置代理
- 高等数学(第七版)同济大学 习题4-2(后半部分) 个人解答
- Struck的安装注意事项
- ccf认证--201809-1 卖菜(100分)
- PyPI--python软件仓储库
- CEILING_2_POWER
- 华为WEB前端全栈成长计划招募
- 计算机批量制作邀请函步骤,如何利用Word批量制作邀请函
- 绝世舞姬计算机弹音乐,绝世舞姬(伴奏)
- nose中的一段代码...
- 大数据技术——销售分析系统
- Oracle锁表解决方法的详细记录详解
- 软件评测师——准备阶段