CF755C
题目简化和分析:
这题不用说怎么分析了吧,这一看就是个并查集求连通分量个数的经典模板。
我们需要将 \(i\) 和 \(p_i\) 进行合并。
遍历每个 \(i\) 与 \(i+1\) 是否属于同一个集合。
- 属于不管。
- 不属于贡献增加,并合并。
注意范围!
Solution:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int long long
const int N=1e4+50;
const int mod=1e9+7;
int t,n;
int p[N],a[N];
int find(int x){
if(x!=p[x]) return p[x]=find(p[x]);
return p[x];
}
signed main()
{
scanf("%lld",&n);
for(int i=1;i<=n;++i) p[i]=i;
for(int i=1;i<=n;++i){
scanf("%lld",&a[i]);
int fx=find(i),fy=find(a[i]);
if(fx!=fy){
p[fx]=fy;
}
}
int ans=1;
for(int i=1;i<n;++i){
int fx=find(i),fy=find(i+1);
if(fx!=fy){
ans++;
p[fx]=fy;
}
}
printf("%lld\n",ans);
}
CF755C的更多相关文章
- CF755C PolandBall and Forest 题解
Content 给定无向图的 \(n\) 个点的父亲节点,求无向图的联通块个数. 数据范围:\(1\leqslant n\leqslant 10^4\). Solution 并查集模板题. 我们将在当 ...
随机推荐
- Python常用基础知识整理
一.Python转义字符 \a :响铃(BEL) \b : 退格(BS) ,将当前位置移到前一列 \f :换页(FF),将当前位置移到下页开头 \n :换行(LF) ,将当前位置移到下一行开头 \r ...
- 手把手教你自定义自己SpringBoot Starter组件源码剖析
我们知道SpringBoot Starter也就是启动器.是SpringBoot组件化的一大优点.基于这个思想,基于这个思想SpringBoot 才变得非常强大,官方给我们提供很多开箱即用的启动器. ...
- Java版人脸跟踪三部曲之二:开发设计
如何开发Java版人脸跟踪应用?本篇给出了设计大纲,并解释了相关的重要知识点 欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599 ...
- 【题解】ABC293E Sol
题目大意 给定整数 \(A,X,M\),求 \(\sum\limits^{X-1}_{i=0} A^i\) 对 \(M\) 取模的值. 数据范围:\(1 \le A,M \le 10^9\),\(1 ...
- postgresql + timescaledb离线安装笔记(zabbix数据库准备工作)
实验环境 操作系统:centos 7.6 PostgreSQL:14.6 timescaledb:2.8.1 网络:本地无网络 1 编译源码安装 1.1 准备工作 useradd postgres m ...
- 2021-7-6 Vue实现记事本功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- React: 路由重定向
解决方案 参考链接 https://v5.reactrouter.com/web/example/route-config
- zabbix6.4 邮件告警配置
1.注意事项 QQ邮箱不支持zabbix6以上邮件配置,报拒绝登录 建议使用163.com网易邮箱地址 2.添加媒介 创建媒介类型-> 3.添加用户 一般情况下,无需创建用户,编辑admin即可 ...
- 基于C#的窗体阴影效果方案 - 开源研究系列文章
最近在研究C#的Winform窗体的效果,上次介绍了窗体动画效果的博文( 基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次将窗体阴影效果的方案进行一个介绍. 找了一下度娘,具 ...
- Jmeter逻辑控制器Switch Controller的用法
一.概述 类似编程语言中的switch函数,Switch Controller根据给定的值n(可使用变量)选择执行其下的 第n+1个子节点. 作用:Switch Controller通过给该控制器中的 ...