
并查集
verdin黄大锤
afo啦!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷P2024 [NOI2001]食物链
题目:[NOI2001]食物链 思路: 带权并查集。 在维护fa的同时维护d,代表是ABC中的哪种动物。 代码: #include<bits/stdc++.h> using namespace std; #define maxn 50000 int n,m; int fa[maxn+5]={0}; int d[maxn+5]={0}; int find(i...原创 2018-07-31 20:49:35 · 416 阅读 · 0 评论 -
洛谷 P1653 猴子
题目:猴子 思路: QAQ…… 当时想的就是……反着处理,把删边看做加边。 最开始把要删的边先删除,然后dfs一遍把联通块处理一下,用类似缩点的方法缩一下。 然后搞一个带权并查集。 注意一定要建图啊……不要直接用两只手拉的猴子处理,会很麻烦 代码: #include<bits/stdc++.h> using namespace std; #define maxn 400000 #d...原创 2018-10-25 18:35:56 · 233 阅读 · 0 评论 -
【模板·并查集】洛谷 P3367 【模板】并查集
题目:并查集 思路: 复习…… 第一次提交忘写路径压缩T了…… 结论:打过再多遍的模板也要检查一下啊…… 代码: #include<bits/stdc++.h> using namespace std; #define maxn 10000 #define read(x) scanf("%d",&x) int n,m; int fa[maxn+5]; int find(i...原创 2018-10-26 16:22:41 · 202 阅读 · 0 评论 -
洛谷1197 P1197 [JSOI2008]星球大战
题目:星球大战 思路: 反向操作,删点 => 加点,用并查集维护。 代码: #include<bits/stdc++.h> using namespace std; #define maxn 400000 #define maxm 200000 #define read(x) scanf("%d",&x) int n,m; vector<int> g[ma...原创 2018-12-06 22:51:32 · 147 阅读 · 0 评论 -
joyoi 黑魔法师之门 (tyvj-1863)
题目: 题目背景 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源。然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Violet星球。为了重启Nescafé这一宏伟的科技工程,人类派出了一支由XLk、Poet_shy和lydrainbowcat三人组成的精英队伍,穿越时空隧道,去往Violet星球拯救领袖applepi。...原创 2019-02-11 14:53:23 · 286 阅读 · 0 评论 -
cubes
题目: 题目描述 约翰和贝西在叠积木。共有30000块积木,编号为1到30000。一开始,这些积木放在地上,自然地分成N堆。贝西接受约翰的指示,把一些积木叠在另一些积木的上面。一旦两块积木相叠, 彼此就再也不会分开了,所以最后叠在一起的积木会越来越高。约翰让贝西依次执行P条操作,操作分为两种: 第一种是移动操作,格式为“移动X到Y的上面”。X和Y代表两块积木的编号,意思是将X所的那堆积木,整体叠...原创 2019-03-07 21:22:17 · 875 阅读 · 0 评论 -
acoj 12467. 资源运输
题目:资源运输 思路: 其实,离线并查集和普通并查集是一样的吖iwi…… 离线的方法和莫队的思路也差不离吖…… 排序不说。 带权并查集维护节点个数。 在循环处理询问时,用一个指针处理边权在 这一个询问 和 上一个询问之间 的边,把块儿连起来。 更新的答案就是当前连通块,除了自己的点的个数。 代码: #include<bits/stdc++.h> using namespace std;...原创 2019-05-19 15:39:33 · 543 阅读 · 0 评论