【luogu P1455 搭配购买】 题解
题目链接:https://www.luogu.org/problemnew/show/P1455
一句话题目做法:并查集合并+01背包
启示:要每次再find一遍。路径压缩会快。因为合并的时候如果是1连3,3连2,4连2,最后也不能保证一步就能连到fa上去。
结果会是fa[2] = fa[3] = fa[4] = 2.
fa[1] = 3.
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = ;
int n,m,money,fa[maxn];//n朵云,m个搭配,w现有钱的数目
int qwqw[maxn],f[maxn],qwqc[maxn],w[maxn],c[maxn];
int find(int x)
{
return x==fa[x]?x:fa[x]=find(fa[x]);
}
int unionn(int x, int y)
{ }
int main()
{
scanf("%d%d%d",&n,&m,&money); for(int i = ; i <= n; i++)
fa[i] = i; for(int i = ; i <= n; i++)
{
int fee,d;
scanf("%d%d",&fee,&d);
w[i] = fee; c[i] = d;
}
for(int i = ; i <= m; i++)
{
int u,v;
scanf("%d%d",&u,&v);
int x = find(u);
int y = find(v);
if(x!=y)
fa[y] = x;
} for(int i = ; i <= n; i++)
{
if(fa[i]!=i)
{
c[find(i)] += c[i];
w[find(i)] += w[i];
c[i] = ; w[i] = ;
}
} for(int i = ; i <= n; i++)
for(int v = money; v >= w[i]; v--)
f[v] = max(f[v],f[v-w[i]]+c[i]);
printf("%d",f[money]);
return ;
}
【luogu P1455 搭配购买】 题解的更多相关文章
- luogu P1455 搭配购买
题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有n朵云,云朵已经 ...
- P1455 搭配购买
洛谷——P1455 搭配购买 题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商 ...
- P1455 搭配购买 (并查集+01背包)
[题目描述] 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有n朵云,云朵 ...
- 洛谷——P1455 搭配购买
https://www.luogu.org/problem/show?pid=1455 题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某 ...
- 洛谷P1455 搭配购买
题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有n朵云,云朵已经 ...
- 洛谷 P1455 搭配购买
题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有n朵云,云朵已经 ...
- 洛谷P1455搭配购买
传送门啦 这是强连通分量与背包的例题 需要注意的就是价值和价格两个数组不要打反了.. 另外 这是双向图!!! #include <iostream> #include <cstdio ...
- BZOJ4004:[JLOI2015]装备购买——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4004 https://www.luogu.org/problemnew/show/P3265 脸哥 ...
- BZOJ1597 & 洛谷2900:[USACO2008 MAR]Land Acquisition 土地购买——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1597 https://www.luogu.org/problemnew/show/P2900 约翰准 ...
随机推荐
- 抱歉最近朋友结婚去浪了几天~未来几天会正常更新.今天带来XML文件解析
三种解析方法 DOM,SAX,XMLPullParse;你以为我要讲三种嘛 错 ,我只讲一种 ,其他两种我只是说下优缺点, 一.DOM解析器 优点: DOM解析器在解析XML文档时,会把文档中的所有元 ...
- JavaScript函数和数组总结
JavaScript函数 1. 函数的定义 函数名称只能包含字母.数字.下划线或$,且不能以数字开头.定义时可用函数定义表达式或者函数声明语句. var f = function fact( ...
- AngularJS 实现 Table的一些操作(示例大于实际)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script ty ...
- iis6、iis7、apache设置mime类型
1.IIS6添加方法. 打开iis,展开网站,右键要设置的站点--属性.找到“http头”选项卡--mime类型 进行设置添加. 截图以.ipa mime类型举例. 2.IIS7(iis7.5.iis ...
- UML建模概述
UML的组成主要有事物.图.关系. UML中的事物: (1)构件事物:UML模型的静态部分,描述概念或物理元素,包括以下 a. 类:类是对一组具有相同属性.相同操作.相同关系和相同语义的对象的抽象.包 ...
- ThenJS
安装ThenJs: npm i thenjs 史上最快,与 node callback 完美结合的异步流程控制库 <!doctype html> <html lang=" ...
- vs文件属性(复制到输出目录)是什么意思
右击项目里的文件,选择属性(F4)会有复制到输出目录的选项. 它提供三项选择,如图: 如果选择始终复制或如果较新则复制会在该程序集的bin目录下生成该文件,如图:
- Web程序中使用EasyUI时乱码问题
今天偶然遇见使用easyUI时,弹窗和分页都是乱码的问题,耗费了很长的时间来解决,以此记住这个坑. 相信大家都会在使用easyUI时都会设置这样一句: 那么就有可能出现设置中文后的乱码问题,如下图: ...
- final关键字介绍
许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”.常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编 ...
- 关于js 中函数的参数
var a = 100; function test(a){ a++; //a(形参)是局部变量 console.log(a); } test(a); console.log(a); //结果是 10 ...