3027 - Corporative Network
3027 - Corporative Network
思路:并查集;
cost记录当前点到根节点的距离,每次合并时路径压缩将cost更新。
1 #include<stdio.h>
2 #include<algorithm>
3 #include<iostream>
4 #include<string.h>
5 #include<math.h>
6 #include<stack>
7 #include<set>
8 #include<queue>
9 using namespace std;
10 int bin[20005];
11 int du[20005];
12 char str[20];
13 int main(void)
14 {
15 int i,j;
16 int n;
17 scanf("%d",&n);
18 while(n--)
19 {
20 int m;
21 scanf("%d",&m);
22 for(i = 1; i <= 20005; i++)
23 bin[i] = i,du[i] = 0;
24 while(scanf("%s",str),str[0]!='O')
25 {
26 int x,y;
27 if(str[0]=='I')
28 {
29 scanf("%d %d",&x,&y);
30 int xx;
31 for(xx = y; bin[xx]!=xx;)
32 {
33 xx = bin[xx];
34 du[y]+=du[xx];
35 }
36 bin[y] = xx;
37 bin[x] = xx;
38 du[x] = du[y]+abs(x-y)%1000;
39 }
40 else
41 { int sum = 0;
42 int xx;scanf("%d",&x);
43 for(xx = x; bin[xx]!=xx;)
44 {
45 xx=bin[xx],du[x]+=du[xx];
46 }
47 bin[x] = xx;
48 printf("%d\n",du[x]);
49 }
50 }
51 }
52 return 0;
53 }
3027 - Corporative Network的更多相关文章
- 【暑假】[实用数据结构]UVAlive 3027 Corporative Network
UVAlive 3027 Corporative Network 题目: Corporative Network Time Limit: 3000MS Memory Limit: 30000K ...
- 3027 - Corporative Network(并差集)
3027 - Corporative Network A very big corporation is developing its corporative network. In the begi ...
- UVALive 3027 Corporative Network
---恢复内容开始--- Corporative Network Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld ...
- [LA] 3027 - Corporative Network [并查集]
A very big corporation is developing its corporative network. In the beginning each of the N enterpr ...
- LA 3027 Corporative Network 并查集记录点到根的距离
Corporative Network Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu [S ...
- UVALive 3027 Corporative Network 带权并查集
Corporative Network A very big corporation is developing its corporative networ ...
- 并查集 + 路径压缩(经典) UVALive 3027 Corporative Network
Corporative Network Problem's Link Mean: 有n个结点,一开始所有结点都是相互独立的,有两种操作: I u v:把v设为u的父节点,edge(u,v)的距离为ab ...
- 并查集(路径更新) LA 3027 Corporative Network
题目传送门 题意:训练指南P192 分析:主要就是一个在路径压缩的过程中,更新点i到根的距离 #include <bits/stdc++.h> using namespace std; c ...
- LA 3027 Corporative Network
这题感觉和 POJ 1988 Cube Stacking 很像,在路径压缩的同时递归出来的时候跟新distant数组 我发现我一直WA的原因是,命令结束是以字母o结束的,而不是数字0!! //#def ...
随机推荐
- EDA简介
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD),[1] ...
- day01互联网架构理论
- HDFS【Java API操作】
通过java的api对hdfs的资源进行操作 代码:上传.下载.删除.移动/修改.文件详情.判断目录or文件.IO流操作上传/下载 package com.atguigu.hdfsdemo; impo ...
- 大数据学习day24-------spark07-----1. sortBy是Transformation算子,为什么会触发Action 2. SparkSQL 3. DataFrame的创建 4. DSL风格API语法 5 两种风格(SQL、DSL)计算workcount案例
1. sortBy是Transformation算子,为什么会触发Action sortBy需要对数据进行全局排序,其需要用到RangePartitioner,而在创建RangePartitioner ...
- 【Other】逻辑分析仪的使用(UART、SPI)
首先上一张接线示意图 上方是UART的接线方式,下方则是SPI的 事实上,这样接就能收到信号了 如果是SPI,要设定自己为主机,UART则没有这个问题 下面来说明逻辑分析仪的界面设定 设定介绍完了 下 ...
- Spring Boot 创建定时任务(配合数据库动态执行)
序言:创建定时任务非常简单,主要有两种创建方式:一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库 ...
- windows 查看端口被占用,解除占用
查看 (列举端口为2688) netstat -ano | findstr "2688" 解除 原文地址
- synchronized底层浅析(一)
之前说过hashMap,我们知道hashMap是一种非线程安全的集合,主要原因是它在多线程的情况下,插入.删除.扩容的时候容易导致数据丢失或者链表环 那我们也知道ConcurrentHashMap.h ...
- 访问Github速度很慢以及解决方法(系统通用)
原因分析1,CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题.用户获取数据时,不需要直接从源站获取,通过CD ...
- centos7源码安装Nginx-1.6
目录 一.环境介绍 二.安装 三.使用验证 四.附录 编译参数详解 一.环境介绍 nginx的版本功能相差不大,具体支持可以查看官网的功能列表 环境信息: [nginx-server] 主机名:hos ...