这是一道考察并查集的路径压缩的题。题意:在悟空的世界,有N个龙珠和N个城市(编号从1到N),神龙最开始把每颗龙珠都放在对应编号的城市。悟空要去收集龙珠,但是这些龙珠有时候是会被转移的。你需要告诉悟空一些有关龙珠的信息才行。现在又T组测试,每组测试都有一个N(龙珠和城市的数量)和Q(操作行为的数量),...
分类:
其他好文 时间:
2014-07-01 23:56:29
阅读次数:
282
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-07-01 19:09:02
阅读次数:
193
Union Find就是所谓的并查集。
本题做的很无语,最后发现居然是输入搞错,一直WA。
不能使用循环接受输入,否则是WA的,气死人,浪费那么多时间就为了这个。
难点:
1 构建关系树
2 构建公式
3 快速更新公式
要抽象思维出什么对应什么的关系和上面是逆关系,就是利用0,1,2构建出父子节点之间的关系值,我是这样去思考构建出准确无误的公式的。
这样的抽象度是挺高的,需要多多训...
分类:
其他好文 时间:
2014-07-01 11:15:20
阅读次数:
190
本题也是个标准的并查集题解。
操作完并查集之后,就是要找和0节点在同一个集合的元素有多少。
注意这个操作,需要先找到0的父母节点,然后查找有多少个节点的额父母节点和0的父母节点相同。
这个时候需要对每个节点使用find parent操作,因为最后状态的时候,节点的parent不一定是本集合的根节点。
#include
const int MAX_N = 30001;
stru...
分类:
其他好文 时间:
2014-07-01 10:50:15
阅读次数:
179
题目:
链接:点击打开链接
题意:
输入n,给出n行数据,每行有两个字符串,输出关系网络中朋友的个数,n行。
思路:
代码:
#include
#include
#include
#include
using namespace std;
const int N = 22;
const int M = 200020;
st...
分类:
其他好文 时间:
2014-07-01 08:14:07
阅读次数:
189
题目:
链接:点击打开链接
题意:
思路:
冲突的条件是:两个人坐在同一行,同时他们到根节点的差值等于他们之间的差值,这时就产生冲突了。于是我们可以用一个dist数组来保存节点到根的距离,而这个距离在路径压缩的时候更新一下就可以了,dist[x]+=dist[parent[x]]。然后就是合并后的距离,令r1=Find(u),r2=Fin...
分类:
其他好文 时间:
2014-07-01 08:13:34
阅读次数:
201
题目:
链接:
题意:
思路:
代码:
#include
#include
#include
using namespace std;
const int N = 30030;
int root[N];
int sum[N],rank[N];//sum[i]表示i下面的积木个数
int q;
int findset(int x)
{
if(x == r...
分类:
其他好文 时间:
2014-07-01 08:12:55
阅读次数:
178
题目:
链接:点击打开链接
题意:
把编号为1~n的龙珠放到编号为1~n的城市中去。现在有T和Q两种操作:
T:A B 把A龙珠所在城市的所有龙珠转移到B城市中。
Q:A 表示查询A龙珠的一些信息:X(A所在的城市),Y(A所在城市龙珠的数目),Z(A转移到该城市被移动的次数)。
思路:
代码:
#...
分类:
其他好文 时间:
2014-07-01 07:48:17
阅读次数:
220
本题是标准的并查集了,最后利用这些集求有多少独立集。
所以这里也写个标准程序过了。
最后查找独立集合: 看有多少个节点的父母节点是自己的,那么就是独立集合了。自己做自己的父母当然最独立的了,没有任何依赖,呵呵。
#include
const int MAX_N = 50001;
//const int MAX_M = MAX_N/2 * (MAX_N-1) + 1;
int N, M;
...
分类:
其他好文 时间:
2014-07-01 07:46:53
阅读次数:
160
题意:给你n个点m条边,问删除前i条边后有多少个连通分块。
思路:从后往前操作,从后往前添加i条边等于添加完m条边后删掉前m-i条边,可知刚开始没有边,所以sum[m]=n;
#include
#include
#include
#include
#include
#include
#define M 100010
#define LL...
分类:
其他好文 时间:
2014-06-30 20:26:50
阅读次数:
198