嗯。

嗯。

POJ 3228 Gold Transportation 并查集

题目来源:POJ 3228 Gold Transportation 题意:有一些金矿要运走存储 求运送的最小最长边 思路:并查集 按边长从小到大排序 如果满足每个连通分量金矿的和小于等于存储的容量 那么就break输出 #include #include #include using nam...

2014-07-27 09:59:32

阅读数 889

评论数 0

POJ 1984 Navigation Nightmare 二维带权并查集

题目来源:POJ 1984 Navigation Nightmare 题意:给你一颗树 k次询问 求2点之间的曼哈顿距离 并且要在只有开始k条边的情况下 思路:按照方向 我是以左上角为根 左上角为原点 dx[i]为i点距离根的x坐标 dy[]是y坐标 这两个可以通过路径压缩求出 只不过是二维而已 ...

2014-07-26 16:08:38

阅读数 1081

评论数 0

HDU 3047 Zjnu Stadium 带权并查集

题目来源:HDU 3047 Zjnu Stadium 题意:给你一些人 然后每次输入a b c 表示b在距离a的右边c处 求有多少个矛盾的情况  思路:用sum[a] 代表a点距离根的距离 每次合并时如果根一样 判断sum数组是否符合情况 根不一样 合并两棵树 这里就是带权并查集的精髓 sum[y...

2014-07-18 13:44:24

阅读数 942

评论数 0

HDU 2473 Junk-Mail Filter 删点并查集

题目来源:HDU 2473 Junk-Mail Filter 题意:2中操作 M x, y 将x,y 合并到一个集合 S x 将x从所在的集合去掉 自己成为一个集合 最后求有多少个集合 思路:删点不好做 可以如果0 1 2在一个集合 可以定义个数组映射 就是每个点所对应实际的点 开始是a[0] =...

2014-07-17 21:06:10

阅读数 866

评论数 0

LA 3027 Corporative Network / 并查集

2种操作        I u v 把u的父节点设为v 距离为fabs(u-v)%1000        E u求u到根节点的距离 设dis[i] 为i节点到父节点的距离 在并查集压缩路径时更新dis数组 #include #include #include #include using ...

2014-01-19 11:29:52

阅读数 877

评论数 0

LA 3644 X-Plosives / 并查集

每种化合物由2中元素组成 现在要按照顺序装化合物 如果装的个数等于元素的种类 那么不可以装 求有多少个不可以装 输入的是每种化合物的2种元素 每个元素看成点 每个化合物连城一条边 那么等价于点数等于边数 就是环 用并查集判断环 #include #include #include #inc...

2014-01-18 23:36:36

阅读数 785

评论数 0

UVa 10158 War / 并查集

我是百度的 嗯 并查集已经忘了 现在复习下 #include const int MAX = 20010; int frien[MAX]; int find(int x) { if(x != frien[x]) frien[x] = find(frien[x]); return fri...

2013-12-16 10:50:48

阅读数 840

评论数 0

TOJ 1856 POJ 1308 HDU 1325 Is It A Tree? / 并查集

和小希的迷宫差不多 这题是有向的 我统计了一下根 只有一个根 并且边数等于节点数减一 #include #include #define MAX 1001 int bin[MAX]; int find(int x) { if(x!=bin[x]) return bin[x] = fin...

2013-08-16 16:31:53

阅读数 849

评论数 0

TOJ 1840 POJ 1127 HDU 1102 Jack Straws / 线段相交 + 并查集

题意就是判断是否2条线段相交 这个相交可以是间接相交 就是1和2 2 和3 分别相交 但是1和3虽然没有直接相交 但是也算 用并查集合并到一个集合就行 看看他们是否有公共的祖先 判断线段相交用叉积 #include #include struct point { double x,y; };...

2013-08-16 12:41:11

阅读数 880

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭