2020牛客暑期多校训练营(第八场)I.Interesting Computer Game(并查集)
题目链接
思路:
将题目转化为求连通子图的顶点数之和,若无环贡献为顶点数,否则为顶点数减1。(数字过大需要用到离散化优化)
代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int N=2e5+10;
const int M=2e4+5;
const double eps=1e-8;
const int mod=1e9+7;
const int inf=0x7fffffff;
const double pi=3.1415926;
using namespace std;
pair<int,int>p[N];
int a[N<<1],es,ps,vis[N<<1],ans,s[N<<1],c[N<<1];
int find(int x)
{return x==s[x]?x:s[x]=find(s[x]);
}
signed main()
{IOS;int t;cin>>t;for(int k=1;k<=t;k++){int n,tot=0;cin>>n;for(int i=1;i<=n;i++){cin>>p[i].first>>p[i].second;a[++tot]=p[i].first,a[++tot]=p[i].second;}sort(a+1,a+tot+1);tot=unique(a+1,a+tot+1)-a-1;for(int i=1;i<=tot;i++){s[i]=i;c[i]=0;}for(int i=1;i<=n;i++){int x=p[i].first,y=p[i].second;x=lower_bound(a+1,a+tot+1,x)-a;y=lower_bound(a+1,a+tot+1,y)-a;x=find(x),y=find(y);if(x!=y){s[x]=y,c[y]|=c[x];}else{c[x]=1;}}ans=tot;for(int i=1;i<=tot;i++){if(find(i)==i&&!c[i]){ans--;}}cout<<"Case #"<<k<<": "<<ans<<endl;}return 0;
}
2020牛客暑期多校训练营(第八场)I.Interesting Computer Game(并查集)相关推荐
- 2020牛客暑期多校训练营(第一场)
文章目录 A B-Suffix Array B Infinite Tree C Domino D Quadratic Form E Counting Spanning Trees F Infinite ...
- 2020牛客暑期多校训练营(第二场)
2020牛客暑期多校训练营(第二场) 最烦英语题 文章目录 A All with Pairs B Boundary C Cover the Tree D Duration E Exclusive OR ...
- E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)
E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...
- 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)
链接:https://ac.nowcoder.com/acm/contest/5666/A 来源:牛客网 题目描述 The BBB-function B(t1t2-tk)=b1b2-bkB(t_1 t ...
- 2020牛客暑期多校训练营(第二场)Just Shuffle
https://ac.nowcoder.com/acm/contest/5667/J 题目大意:给你一个置换A,使得置换P^k=A,让你求出置换P. 思路:我们根据置换A再置换z次,那么就等于置换p ...
- 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)
题目链接 题意: 给你一个积分公式,给你一个n,问积分公式的值取模后的结果. 思路: 积分公式(沃利斯积分)值的结论直接就是(n!)^2/(2n+1)!,求个阶乘,再用费马小定理给1/(2n+1)!取 ...
- 2020 牛客暑期多校训练营(第一场)F
题目大意: 多次输入两个a,b字符串他们可以无限次的重复变成aaa,或者bbb 比较他们的大小,相同输出 =,a<b输出 <,a>b输出 >. 输入: aa b zzz zz ...
- 2020牛客暑期多校训练营(第二场)未完待续......
F. Fake Maxpooling 题目: 题目大意: 输入n,m,k.矩阵的尺寸为nm,其中每一个元素为A[i][j] = lcm( i , j ).从中找出所有kk的子矩阵中元素最大的数之和. ...
- 2020牛客暑期多校训练营(第一场)J、Easy Integration (数学、分部积分)
题目链接 题面: 题意: 求给定的定积分. 题解,化成 ∫ xn (1-x)n dx 然后用分部积分法即可得. 分部积分法:∫ udv = uv - ∫ vdu 最终为 n!/((n+1)*(n+2) ...
- 2020牛客暑期多校训练营(第二场)题解
废话 蒟蒻不会积分,K不会做. 文章目录 废话 A. All with Pairs B. Boundary C. Cover the Tree D. Duration E. Exclusive OR ...
最新文章
- 蚂蚁金服开源增强版Spring Boot 的研发框架!
- 【概率论】1-4:事件的的并集(Union of Events and Statical Swindles)
- quartz定时器依赖_Grails集成Quartz插件实现定时任务(Job)
- 小白自学深度学习——目录
- IDEA微服务项目的application.yml没有绿色叶子的解决办法
- 云原生时代,谁是容器的最终归宿?
- 【课题报告】OpenCV 抠图项目实战(10)PyQt5 使用
- appcrash事件怎么解决_解决问题的最佳办法,是让问题不再是问题
- Redmi K50全系售价曝光:电竞版颠覆骁龙8旗舰定价
- int long long 的取值范围
- sass之mixin的全局引入(vue3.0)
- Programming Ruby学习笔记一
- Java中interface接口与abstract class抽象类的区别
- Python一个很好玩的特性decorator
- 小米5s安装xpose 上
- 2014互联网十大斗殴事件,看了我也是醉了~
- altf4不管用.是因为未使用内置管理员账户.
- JS设置浏览器缩放比例
- java codeCache
- 推荐几个矢量图库网站
热门文章
- 双11了,漂亮灵气仙气十足的小姐姐想脱单,广东惠州人,大专学历财务工作,性格温和(NO.001)...
- 学习如何做好网站关键词的诊断工作
- python中的时间处理模块(二):datetime模块之timedelta类详解
- elementui 使用el-image 控件 解决 通过点击查看按钮两次才能 实现预览图片
- 计算机视觉的相关会议,计算机视觉相关会议
- 鲁迅名言——警醒自己
- Golang使用qrcode生成二维码,以及生成带logo的二维码
- matlab加速模型,matlab仿真加速问题
- 以太坊智能合约solidity去中心化投票系统
- 因果推断笔记——CV、机器人领域因果推断案例集锦(十)