传送门
来看题目看完题目,大意也就是某些云朵是一个集合, 也就是将小云朵们组合成大云朵来买, 那么我们如何将一个集合的数全部加起来呢, 所以我们需要在每次并查集的时候,给祖宗节点加上自己的儿子节点 然后就是操作的问题了 1.我需要找到单个云朵的集合 所以我们需要在并查集之前 定义st数组来判断 2.然后就是我们如何判断已经使用过这个集合了呢? 当然同理使用标记数组st2,每次进行一遍并查集查询该集合的祖宗节点,如果该祖宗节点被标记就表示这个集合用过了了 3还挺简单的 heihei
#include
using namespace std;
const int N = 1e4+10;
const int maxn = 1e4+10;
int f[N],p[maxn];
int n, m, W;
int v[maxn],w[maxn];
int v1[maxn],w1[maxn] ;
int st[maxn] ;
int idx ;
int find(int x)
{
if(x!=p[x])
return p[x] = find(p[x]);
return p[x];
}
int st2[maxn];
int main()
{
cin>>n>>m>>W;
for(int i=1; iv[i]>>w[i];
for(int i=1; i>a>>b;
if(a!=b)
{
st[a] = 1;
st[b] = 1;
}
int fa = find(a);
int fb = find(b);
if(fa!=fb)
{
p[fa]=fb;
v[fb] +=v[fa];
w[fb] +=w[fa];
}
}
for(int i=1; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?