![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图------并查集
并查集题
蒋卫升
这个作者很懒,什么都没留下…
展开
-
食物链 (带边权并查集)
题目链接题意:中文题面,无过多客套话,就不说了思路:参考:https://blog.csdn.net/ccsu_cat/article/details/78089233把父节点与子节点的关系用向量表示,一共有三种关系,0代表同类;1代表被根节点吃;2代表吃根节点。#include <cstdio>#include <iostream>#incl...原创 2020-01-14 18:42:24 · 166 阅读 · 0 评论 -
Werewolf (并查集)
题目链接思路:首先这是一个最大出度为1的有向图。有两种不同的边,狼边和村民边。假设都是狼,这显然是成立的,那么必为村民的个数就为0。那么必为狼的个数呢?这题的关键突破口是,形成一个村民环,只有一条狼边,那么狼边指向的那个节点必为狼,所有指向铁狼的村民边也比为狼(分析如下)。其他情况必为狼的数目为0。假设A为村民,因为村民不说谎,那么B,C,D为村民,D为村民得出A为狼,矛盾,所以A为狼。...原创 2020-01-12 11:36:06 · 271 阅读 · 0 评论 -
cf Path Queries(并查集 (基于size的合并))
题目链接题意:给一带边权的树,给你m次查询,每次查询为qi,问有多少条路径,它的路上最大边权值小于等于qi。比如说,当树这样给出,问当q为1时答案为多少。根据观察,我们可以得知,答案为3,分别时(1,2)(2,4)(1,4); 思路:最开始,把这棵树看成一个个离散的点,我们从边权小的开始合并,那么ans(qi)就等于把所有小于等于qi 的边都连接完后的总答案,而对于每一...原创 2019-09-05 09:02:55 · 273 阅读 · 0 评论 -
牛客 BC题(并查集)
题目链接直接套模板#include<bits/stdc++.h>using namespace std;int a[100005];long long w[100005],f[100005];int find(int x){ return x==f[x]?x:f[x]=find(f[x]);}int main(){ int n,m; cin>&g...原创 2019-10-07 18:13:32 · 221 阅读 · 0 评论