LA 3027 Corporative Network / 并查集
2014-01-19 11:29
405 查看
2种操作 I u v 把u的父节点设为v 距离为fabs(u-v)%1000 E u求u到根节点的距离
设dis[i] 为i节点到父节点的距离
在并查集压缩路径时更新dis数组
设dis[i] 为i节点到父节点的距离
在并查集压缩路径时更新dis数组
#include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> using namespace std; const int maxn = 20010; int dis[maxn], pa[maxn]; int find(int x) { if(x != pa[x]) { int root = find(pa[x]); dis[x] += dis[pa[x]]; pa[x] = root; return pa[x]; } else return x; } int main() { int T, n; int u, v; scanf("%d", &T); while(T--) { char s[10]; scanf("%d", &n); for(int i = 0; i <= n; i++) { pa[i] = i; dis[i] = 0; } while(scanf("%s", s) && s[0] != 'O') { if(s[0] == 'E') { scanf("%d", &u); find(u); printf("%d\n", dis[u]); } else { scanf("%d %d", &u, &v); dis[u] = abs(u-v) % 1000; pa[u] = v; } } } return 0; }
相关文章推荐
- LA 3027 - Corporative Network
- UVALive 3027---Corporative Network+并查集的应用
- LA 3027 Corporative Network
- LA 3027(p192)----Corporative Network
- Corporative Network UVALive - 3027 并查集
- LA 3027 - Corporative Network
- LA 3027 合作网络 并查集
- Corporative Network +uvalive+并查集
- Corporative Network UVA - 1329 加权并查集(压缩路径优化)
- 并查集(合作网络,LA 3027)
- 并查集(路径更新) LA 3027 Corporative Network
- 《算法竞赛-训练指南》第三章-3.6_LA 3027(并查集)
- Corporative Network(LA 3027,带权并查集母题)
- 3027 - Corporative Network
- LA 3027 并查集
- LA 3027 Corporative Network(并查集,求某个节点到根节点的距离)
- LA 3027 (并查集)
- LA 3027 Corporative Network 并查集记录点到根的距离
- Corporative Network UVA - 1329(并查集的修改与查询)
- LA 3027 并查集