并查集
河渔船
成长的小垃圾
展开
-
P1892 团伙
朴素并查集#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<queue> using namespace std; int n,m; vector <int> dr[1001]; int py[1001]; int fi原创 2017-02-22 15:51:46 · 468 阅读 · 0 评论 -
P2024 食物链(two)
luoguvijos两种方法一、带权并查集:问题 front做差#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<queue> #include<vector> #include<cmath> using namespace std; int f[5原创 2017-02-26 11:26:06 · 379 阅读 · 0 评论 -
bzoj 1821 部落划分
评测:http://www.lydsy.com/JudgeOnline/problem.php?id=1821 分析一下题目: 因为最后答案是距离最近的部落的距离最远,即尽量把短的边合并进部落中。 一开始可以看做n个部落,将边排一遍序,用克鲁斯卡尔从最小的边开始将两端的点合并(如果不在一个集合中),每合并一次,集合数目就 -1,直到剩下k个部落,那么下一条两端没有在一个集合中的边就是要求的原创 2017-07-25 15:31:04 · 321 阅读 · 0 评论 -
Codevs 4246 奶牛的身高
Codevs 传送门题目描述 Description 奶牛们在FJ的养育下茁壮成长。这天,FJ给了奶牛Bessie一个任务,去看看每个奶牛场中若干只奶牛的身高,由于Bessie是只奶牛,无法直接看出第i只奶牛的身高,而只能看出第i只奶牛与第j只奶牛的身高差,其中第i 只奶牛与第j只奶牛的身高差为A(i<=n)。当A大于0时表示这只奶牛比前一只奶牛高A cm,小于0时则是低。现在,FJ让Bes原创 2017-08-09 17:07:57 · 232 阅读 · 0 评论 -
P1197 [JSOI2008]星球大战
https://www.luogu.org/problem/show?pid=1197思路和关闭农场差不多,不过加了一些时间上的优化。 当我们加入一个点时,先假设又加入一个单独的连通块,然后再扫一下与它相连的点如果在图中但是与它不在一个联通块中,那么就将其合并,连通块个数减一。 注:并查集的题果断找祖宗。#include<iostream> #include<string> #include<c原创 2017-08-10 09:42:12 · 431 阅读 · 0 评论 -
poj 1984 Navigation Nightmare
http://poj.org/problem?id=1984这是一道经典的带权并查集,每插入一个点,维护两个权值的数组,代表关于根节点的x坐标和y坐标, 记录这两个权值数组就可以了。W是x减,E是x加,N是y减,S是y加。 合并时,注意一些细节。(注意我们输入的是x和y之间的距离,记录的是ry到rx的距离,加减法要做好)#include<iostream> #include<cstring> #原创 2017-08-04 14:57:59 · 261 阅读 · 0 评论 -
P3144 [USACO16OPEN]关闭农场Closing the Farm
https://www.luogu.org/problem/show?pid=3144#sub 分析:按顺序去掉点后查询图是否还是联通的,那么我们就可以按照删除的顺序倒着加点。 在加某个点之前判断图是否是联通的,即按顺序去掉这个点后图是否是联通的。 具体的处理方法:根据输出要求,我们可以先把最后一个去掉的点加进图中;然后在倒着放入其它点 (第i个点)之前先判断当前图是否是联通的,将答案存入a原创 2017-08-04 20:41:31 · 404 阅读 · 0 评论 -
P1196 银河英雄传说
设置两个数组来记录后面的长度和前面的长度#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<queue> #include<vector> #include<cmath> using namespace std; int behind[30010],f原创 2017-02-24 13:33:53 · 449 阅读 · 0 评论 -
历史 history
题目描述 历史学家小A正在研究一个奇怪的王国的历史。当前阶段的任务是研究该国的交通。 根据这个奇怪的王国的史书记载,史书开始记载前这个王国有 n 个城市(城市从 0 开 始标号) ,但所有城市之间都没有道路相连。 每一年,在位的国王会修建一条 x 到 y 的双向道路,一条道路可能被修建多次,但不会 修建起点和终点为同一个城市的道路。 而在这之间,国王会计划进行若干次旅行。对于计划进行的一原创 2017-09-10 15:13:02 · 373 阅读 · 0 评论