题目链接

思路:

将题目转化为求连通子图的顶点数之和,若无环贡献为顶点数,否则为顶点数减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(并查集)相关推荐

  1. 2020牛客暑期多校训练营(第一场)

    文章目录 A B-Suffix Array B Infinite Tree C Domino D Quadratic Form E Counting Spanning Trees F Infinite ...

  2. 2020牛客暑期多校训练营(第二场)

    2020牛客暑期多校训练营(第二场) 最烦英语题 文章目录 A All with Pairs B Boundary C Cover the Tree D Duration E Exclusive OR ...

  3. E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)

    E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...

  4. 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)

    链接:https://ac.nowcoder.com/acm/contest/5666/A 来源:牛客网 题目描述 The BBB-function B(t1t2-tk)=b1b2-bkB(t_1 t ...

  5. 2020牛客暑期多校训练营(第二场)Just Shuffle

    https://ac.nowcoder.com/acm/contest/5667/J 题目大意:给你一个置换A,使得置换P^k=A,让你求出置换P. 思路:我们根据置换A再置换z次,那么就等于置换p ...

  6. 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)

    题目链接 题意: 给你一个积分公式,给你一个n,问积分公式的值取模后的结果. 思路: 积分公式(沃利斯积分)值的结论直接就是(n!)^2/(2n+1)!,求个阶乘,再用费马小定理给1/(2n+1)!取 ...

  7. 2020 牛客暑期多校训练营(第一场)F

    题目大意: 多次输入两个a,b字符串他们可以无限次的重复变成aaa,或者bbb 比较他们的大小,相同输出 =,a<b输出 <,a>b输出 >. 输入: aa b zzz zz ...

  8. 2020牛客暑期多校训练营(第二场)未完待续......

    F. Fake Maxpooling 题目: 题目大意: 输入n,m,k.矩阵的尺寸为nm,其中每一个元素为A[i][j] = lcm( i , j ).从中找出所有kk的子矩阵中元素最大的数之和. ...

  9. 2020牛客暑期多校训练营(第一场)J、Easy Integration (数学、分部积分)

    题目链接 题面: 题意: 求给定的定积分. 题解,化成 ∫ xn (1-x)n dx 然后用分部积分法即可得. 分部积分法:∫ udv = uv - ∫ vdu 最终为 n!/((n+1)*(n+2) ...

  10. 2020牛客暑期多校训练营(第二场)题解

    废话 蒟蒻不会积分,K不会做. 文章目录 废话 A. All with Pairs B. Boundary C. Cover the Tree D. Duration E. Exclusive OR ...

最新文章

  1. 蚂蚁金服开源增强版Spring Boot 的研发框架!
  2. 【概率论】1-4:事件的的并集(Union of Events and Statical Swindles)
  3. quartz定时器依赖_Grails集成Quartz插件实现定时任务(Job)
  4. 小白自学深度学习——目录
  5. IDEA微服务项目的application.yml没有绿色叶子的解决办法
  6. 云原生时代,谁是容器的最终归宿?
  7. 【课题报告】OpenCV 抠图项目实战(10)PyQt5 使用
  8. appcrash事件怎么解决_解决问题的最佳办法,是让问题不再是问题
  9. Redmi K50全系售价曝光:电竞版颠覆骁龙8旗舰定价
  10. int long long 的取值范围
  11. sass之mixin的全局引入(vue3.0)
  12. Programming Ruby学习笔记一
  13. Java中interface接口与abstract class抽象类的区别
  14. Python一个很好玩的特性decorator
  15. 小米5s安装xpose 上
  16. 2014互联网十大斗殴事件,看了我也是醉了~
  17. altf4不管用.是因为未使用内置管理员账户.
  18. JS设置浏览器缩放比例
  19. java codeCache
  20. 推荐几个矢量图库网站

热门文章

  1. 双11了,漂亮灵气仙气十足的小姐姐想脱单,广东惠州人,大专学历财务工作,性格温和(NO.001)...
  2. 学习如何做好网站关键词的诊断工作
  3. python中的时间处理模块(二):datetime模块之timedelta类详解
  4. elementui 使用el-image 控件 解决 通过点击查看按钮两次才能 实现预览图片
  5. 计算机视觉的相关会议,计算机视觉相关会议
  6. 鲁迅名言——警醒自己
  7. Golang使用qrcode生成二维码,以及生成带logo的二维码
  8. matlab加速模型,matlab仿真加速问题
  9. 以太坊智能合约solidity去中心化投票系统
  10. 因果推断笔记——CV、机器人领域因果推断案例集锦(十)