2020牛客暑期多校训练营(第八场)Interesting Computer Game
题意
- 什么都不做
- 如果a[i]以前没选过,那么可以选择a[i]
- 如果b[i]以前没选过,那么可以选择b[i]
题解
1
6
1 2
2 3
3 4
1 3
4 5
5 6
代码
1 #include<bits/stdc++.h>
2 using namespace std;
3
4 const int maxn=100100;
5 unordered_map<int,int> par,p,x,y,q,vis;
6
7 int Find(int x){
8 if(x!=par[x])
9 par[x]=Find(par[x]);
10 return par[x];
11 }
12
13 void unite(int a,int b)
14 {
15 int fa=Find(a);
16 int fb=Find(b);
17 if(fa!=fb)
18 par[fa]=fb;
19 }
20
21 int a[maxn],b[maxn];
22 int c[maxn];
23
24 int main()
25 {
26 ios::sync_with_stdio(false);
27 cin.tie(0);
28 cout.tie(0);
29 int t;
30 cin>>t;
31 int k=0;
32 while(t--){
33 memset(c,0,sizeof(c));
34 par.clear();
35 p.clear();
36 x.clear();
37 y.clear();
38 q.clear();
39 vis.clear();
40 cout<<"Case #"<<++k<<": ";
41 int n;
42 cin>>n;
43 int pos=0;
44 int ans=0;
45 for(int i=0;i<n;i++){
46 cin>>a[i]>>b[i];
47 par[a[i]]=a[i];
48 par[b[i]]=b[i];
49 }
50 int kk=0;
51 for(int i=0;i<n;i++){
52 if(Find(a[i])==Find(b[i])) c[kk++]=Find(a[i]);
53 else unite(a[i],b[i]);
54 }
55 for(int i=0;i<kk;i++){
56 p[Find(c[i])]=1;
57 }
58 for(int i=0;i<n;i++){
59 int xx=Find(a[i]);
60 int yy=Find(b[i]);
61 if(!x[xx]) x[xx]=++pos,q[pos]=xx;
62 if(!x[yy]) x[yy]=++pos,q[pos]=yy;
63 }
64 for(int i=0;i<n;i++){
65 if(!vis[a[i]]) y[x[Find(a[i])]]++;
66 vis[a[i]]=1;
67 if(!vis[b[i]]) y[x[Find(b[i])]]++;
68 vis[b[i]]=1;
69 }
70 for(int i=1;i<=pos;i++){
71 if(!p[q[i]]) ans--;
72 ans+=y[i];
73 }
74 cout<<ans<<endl;
75 }
76 return 0;
77 }
2020牛客暑期多校训练营(第八场)Interesting Computer Game的更多相关文章
- 2020牛客暑期多校训练营(第一场)H Minimum-cost Flow
Minimum-cost Flow 题目:给n个点,m条边.接下来m行包含(a,b,c),即a,b之间有单位流量代价为c的边.接下来有q个问题,每个问题给定(x,y),即假设每条边的容量为x/y时,从 ...
- 2020牛客暑期多校训练营(第二场) Boundary
传送门:Boundary 题意:给你n个点的坐标,问最多有多少个点可以在同一个圆上,(0,0)必须在这个圆上. 题解:三个点确定一个圆,所以暴力枚举两个点和(0,0)组成的圆,如果三个点不共线的话, ...
- 2020牛客暑期多校训练营(第一场)Easy Integration
传送门:J. Easy Integration 题意:给你n,求这个积分,最后的结果分子是记为p,分母记为q. 求(p*q-1)mod 998244353. 题解:比赛完看到巨巨说这是贝塔函数,我一搜 ...
- 2020牛客暑期多校训练营 (第二场) All with Pairs
传送门:All with Pairs 题意:给你n个字符串,求出,f(si,sj)的意思是字符串 si 的前缀和字符串 sj 后缀最长相等部分. 题解:先对所有的字符串后缀hash,用map记录每个h ...
- 2020牛客暑期多校训练营(第二场)Fake Maxpooling
传送门:Fake Maxpooling 题意:给出矩阵的行数n和列数m,矩阵 Aij = lcm( i , j ) ,求每个大小为k*k的子矩阵的最大值的和. 题解:如果暴力求解肯定会t,所以要智取 ...
- 2020牛客暑期多校训练营(第二场) F.Fake Maxpooling (单调队列)
题意:有一个\(n\)x\(m\)的矩阵,\(A_{i,j}=lcm(i,j)\),对于每个\(k\)x\(k\)的子矩阵,其最大元素贡献给答案,求答案的最大值. 题解:矩阵构成我们直接\(i*j/g ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
随机推荐
- 用隧道协议实现不同dubbo集群间的透明通信
用隧道协议实现不同dubbo集群间的透明通信 前言 笔者最近完成了一个非常有意思的隧道机制(已在产线运行),可以让注册到不同zookeeper之间的dubbo集群之间能够正常进行通信.如下图所示: 例 ...
- ACL技术(访问控制列表)
• Access Control List • 访问控制列表 • 是一种包过滤技术 • ACL基于IP包头的IP地址.四层TCP/UDP头部的端口号.[五层数据]进行过滤 • ...
- Linux性能相关命令
Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...
- python学习笔记 | 猜拳游戏
''' @author: 人人都爱小雀斑 @time: 2020/3/6 18:52 @desc: 实验结果心得: 1.难点主要在判断谁输谁赢 2.挺好的 ''' import random d={1 ...
- Leetcode53. 最大子序列和
问题 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 代码 贪心算法 核心思想就是检查之前 i-1 的元素和,如果小于零就舍弃--对应下面第六行 ...
- SDUST数据结构 - chap8 查找
选择题: 函数题: 6-1 二分查找: 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> #define MAXSIZE 10 ...
- ctfhub技能树—sql注入—Refer注入
手注 查询数据库名 查询数据表名 查询字段名 查询字段信息 脚本(from 阿狸) #! /usr/bin/env python # _*_ coding:utf-8 _*_ url = " ...
- ASP.NET MVC--sqlserver数据库脚本的导入导出
1.右键选择数据库---任务----生成脚本 2.弹出如下框 导出整个表,默认下一步,否则选择特定数据库对象表单选框 3.修改文件名路径,可以保存脚本到制定路径,否则为默认,点击高级进入 要编写脚本的 ...
- 聊聊.net应用程序的Docker镜像
要在容器中运行.net应用程序,你需要在容器镜像中安装.net Framework或.net Core 运行时.这不是你需要自己管理的东西,因为微软提供的Docker镜像已经安装了运行时,你可以使用 ...
- https://www.cnblogs.com/AloneSword/p/3209653.html
proc/sys/net/ipv4/下各项的意义 - 孤剑 - 博客园 https://www.cnblogs.com/AloneSword/p/3209653.html