UVA
来源:互联网 发布:维护数据库培训班 编辑:程序博客网 时间:2024/06/10 10:42
点击打开题目链接
题目大意:
有N个节点,初始时没有根节点,每次进行I或者E操作。
E u : 算出u到根节点的距离
I u v : 将v作为u的根节点,之间距离为 abs(u-v)%1000;
思路:
因为加权的并查集接触的不多。所有拿到题之后并查集的思想只存在大脑1s,就开是dfs找路径。因为终止条件看做了数字0,提交一直WA,没有超时,以为方法正确(TAT),直接WA到比赛结束。
加权并查集的裸题。维护距离数组d。
附上AC代码:
#include<bits/stdc++.h>using namespace std;const int maxn = 20000 + 5;int par[maxn];int d[maxn];int T,n;char c;int u, v;void init() { for(int i = 0; i < maxn; i++){ par[i] = i; d[i] = 0; }}int find(int x){ if(par[x] == x)return x; int f = find(par[x]); d[x] += d[par[x] ]; return par[x] = f;}int main(){ ios :: sync_with_stdio(false); cin >> T; while(T--) { init(); cin >> n; while(cin >> c) { if(c == 'O') break; else if(c == 'I') { cin >> u >> v; par[u] = v; d[u] = abs(u - v) % 1000; } else if(c == 'E') { cin >> u; find(u); cout << d[u] << endl; } } } return 0;}
阅读全文
0 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 技术文章 | JavaScript与PHP到底有何不同?
- 怎么在游戏里制作出一张合格的720全景
- 关于安卓保存网络图片并更新图库
- USACO Section 1.5 Prime Palindromes
- Android -- AsyncTask源码解析
- UVA
- PHP基础字符串
- Linked List
- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- Javascript 面向对象编程(一):封装
- 嵌入式开发—C语言面试题
- 深度学习研究草稿笔记(1)
- eclipse常用快捷键
- ApplicationContextAware加载Spring上下文环境