题目简化和分析:

这题不用说怎么分析了吧,这一看就是个并查集求连通分量个数的经典模板。

我们需要将 \(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的更多相关文章

  1. CF755C PolandBall and Forest 题解

    Content 给定无向图的 \(n\) 个点的父亲节点,求无向图的联通块个数. 数据范围:\(1\leqslant n\leqslant 10^4\). Solution 并查集模板题. 我们将在当 ...

随机推荐

  1. Python常用基础知识整理

    一.Python转义字符 \a :响铃(BEL) \b : 退格(BS) ,将当前位置移到前一列 \f :换页(FF),将当前位置移到下页开头 \n :换行(LF) ,将当前位置移到下一行开头 \r ...

  2. 手把手教你自定义自己SpringBoot Starter组件源码剖析

    我们知道SpringBoot Starter也就是启动器.是SpringBoot组件化的一大优点.基于这个思想,基于这个思想SpringBoot 才变得非常强大,官方给我们提供很多开箱即用的启动器. ...

  3. Java版人脸跟踪三部曲之二:开发设计

    如何开发Java版人脸跟踪应用?本篇给出了设计大纲,并解释了相关的重要知识点 欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599 ...

  4. 【题解】ABC293E Sol

    题目大意 给定整数 \(A,X,M\),求 \(\sum\limits^{X-1}_{i=0} A^i\) 对 \(M\) 取模的值. 数据范围:\(1 \le A,M \le 10^9\),\(1 ...

  5. postgresql + timescaledb离线安装笔记(zabbix数据库准备工作)

    实验环境 操作系统:centos 7.6 PostgreSQL:14.6 timescaledb:2.8.1 网络:本地无网络 1 编译源码安装 1.1 准备工作 useradd postgres m ...

  6. 2021-7-6 Vue实现记事本功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  7. React: 路由重定向

    解决方案 参考链接 https://v5.reactrouter.com/web/example/route-config

  8. zabbix6.4 邮件告警配置

    1.注意事项 QQ邮箱不支持zabbix6以上邮件配置,报拒绝登录 建议使用163.com网易邮箱地址 2.添加媒介 创建媒介类型-> 3.添加用户 一般情况下,无需创建用户,编辑admin即可 ...

  9. 基于C#的窗体阴影效果方案 - 开源研究系列文章

    最近在研究C#的Winform窗体的效果,上次介绍了窗体动画效果的博文( 基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次将窗体阴影效果的方案进行一个介绍. 找了一下度娘,具 ...

  10. Jmeter逻辑控制器Switch Controller的用法

    一.概述 类似编程语言中的switch函数,Switch Controller根据给定的值n(可使用变量)选择执行其下的 第n+1个子节点. 作用:Switch Controller通过给该控制器中的 ...