第十五届蓝桥杯省赛第二场C/C++B组C题【传送阵】题解(AC)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解题思路

由于 a a a 数组是一个 1 1 1 n n n 的一个排列,那么形成的一定是如下形式:

在这里插入图片描述
一定会构成几个点的循环,或者是几个单独的点。

从任意点开始,如果能进入一个循环,一定可以将整个循环的宝藏都拿走,因为不限进入传送门的次数。

那么,我们可以用并查集来维护点与点之间的关系,以及一个小团体里头点的数量。

由于我们可以使用一次从 j j j 跳到 j − 1 j - 1 j1 j + 1 j + 1 j+1 的位置,那么我们可以枚举所有的 c n t [ f i n d ( j ) ] + c n t [ f i n d ( j + 1 ) ] cnt[find(j)] + cnt[find(j + 1)] cnt[find(j)]+cnt[find(j+1)],其中 f i n d ( j ) ≠ f i n d ( j + 1 ) find(j) \neq find(j+1) find(j)=find(j+1)

时间复杂度约为 O ( n ) O(n) O(n)

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>using namespace std;const int N = 1e6 + 10;int n;
int p[N], cnt[N];int find(int x)
{if (x != p[x])p[x] = find(p[x]);return p[x];
}int main()
{cin >> n;for (int i = 1; i <= n; ++ i )p[i] = i, cnt[i] = 1;for (int i = 1; i <= n; ++ i ){int x;cin >> x;int a = find(i), b = find(x);if (a == b)continue;cnt[a] += cnt[b];p[b] = a;}int res = 0;for (int i = 1; i < n; ++ i ){int a = find(i), b = find(i + 1);if (a == b)res = max(res, cnt[a]);elseres = max(res, cnt[a] + cnt[b]);}cout << res << endl;return 0;
}

【在线测评】

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QSqlTableModel的canFetchMore、fetchMore效率太低,需替换

问题描述&#xff1a;SQLITE数据库&#xff0c;使用QSqlTableModel获取行数&#xff0c;调用函数rowCount()&#xff0c;仅能获取256行&#xff0c;故使用下面代码获取实际行数&#xff1a; while(m_model->canFetchMore()){m_model->fetchMore();} 但实际使用发现效率…

[vant] 图片预览关闭按钮显示不正常

如果这里显示不正常, 那就应该是按照文档引入了 显示有问题, 直接不引入, 声明一下就行

每日论文推荐:我们距离GPT-4V有多远,最接近GPT-4V的开源多模态大模型

&#x1f4cc; 元数据概览&#xff1a; 标题&#xff1a;How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites作者&#xff1a;Zhe Chen, Weiyun Wang, Hao Tian, Shenglong Ye, Zhangwei Gao, Erfei Cui, Wenwen Tong, Kon…

富格林:可信操作提升做单盈利

富格林指出&#xff0c;黄金市场有涨有跌&#xff0c;有赚有赔&#xff0c;投资黄金并非有机会天天盈利&#xff0c;能够盈利出金最重要的原因还是投资者有正规精妙的技术。在黄金交易中&#xff0c;投资者一定要掌握可信的交易方法&#xff0c;提前布局好策略&#xff0c;这样…

java输入输出流

文件的输入输出流&#xff1a; import java.io.*;public class Stream {//文件输出流public static void SerializableOblect(String path, Object o) throws IOException {FileOutputStream fos null;ObjectOutputStream oos null;fos new FileOutputStream(path);oos ne…

mysql统计数据库或数据表记录总数

目录 1.Information_schema表简介 2.统计数据库或数据表记录总数方法 1.Information_schema表简介 Information_schema数据库是MySQL自带的&#xff0c;它提供了访问数据库元数据的方式。 把Information_schema 看作是一个数据库&#xff0c;确切说是信息数据库。其中保存着…

企业计算机服务器中了helper勒索病毒怎么办?Helper勒索病毒解密处理流程

网络技术的不断发展与成熟&#xff0c;为企业的生产运营提供了极大便利&#xff0c;让企业的发展速度大大提升&#xff0c;但网络毕竟是虚拟服务系统&#xff0c;虽然可以为企业提供便利&#xff0c;但也会给企业数据安全带来严重威胁。近日&#xff0c;云天数据恢复中心接到山…

【Qt踩坑】Qt项目嵌入Web踩坑记录--加载QtWebEngine模块的程序会出现崩溃

1. Ubuntu20.04环境中设置自启动应用程序后&#xff0c;加载QtWebEngine模块的程序会出现崩溃 解决方法一&#xff1a; 使用root用户会报错1.自启动脚本使用 sudo -S /opt/run.sh 方式启动脚本会出现问题2.手动启动或者修改自启动脚本启动方式 run.sh 就能正常运行解决方法二…

subject may not be empty | type may not be empty报错解决

目录 1、今天在提交前端代码时突然发现这个包错&#xff0c;尝试了下面方法&#xff0c;已解决。 2、解决方式一&#xff1a;修改提交信息&#xff0c; 使其符合规范 3、解决方式二&#xff1a;直接卸载工具 1、今天在提交前端代码时突然发现这个包错&#xff0c;尝试了下面方…

c++中的链表list的模拟实现

拖更了半个月&#xff0c;我终于来填c的坑啦。上次我们说的vetcor不知道小伙伴还记得多少呢&#xff1f;今天我们要讲list的模拟实现。 目录 架构结点list表的结构 构造函数尾插push_back()尾删pop_back()计算个数&#xff1a;size()判断空empty()※迭代器问题普通迭代器迭代器…

CSS高级选择器

一、属性选择器 以value开头的att属性的E元素&#xff1a;E[att^"value"]{ ;} a[href^http]{background-color"red";} css a[href^http]{background-color"red"; } html <!DOCTYPE html> <html lang"en"> <head&…

数据线出口所需要的认证。数据线、电源适配器出口需要做什么认证?

数据线出口所需要的认证。数据线、电源适配器出口需要做什么认证&#xff1f; 数据线出口所需要的认证。数据线、电源适配器出口需要做什么认证&#xff1f; 欧洲:CE认证&#xff08;CE-EMC检测电压&#xff09;、ROHS认证&#xff08;检测有害物质&#xff09; 美国&#xff…

你的手机月租可能比我的高,不信咱们比一比!

​  你办理的套餐可能月租都比我的高&#xff0c;不信咱们比一比&#xff01; 为什么这么说呢&#xff0c;因为很多朋友看到月租低的流量卡&#xff0c;总是担心里面会不会有套路&#xff0c;不敢办理&#xff0c;甚至看到这种信息时也会一滑而过。 在这里&#xff0c;我要说…

《QT实用小工具·四十四》支持图片和动图的文本编辑器

1、概述 源码放在文章末尾 该项目实现了一个功能丰富的文本编辑器&#xff0c;除了包含文本常规的编辑功能&#xff0c;还包括图片的插入功能和动图的插入功能&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include "imagehelper.…

echarts实现水滴图

使用echarts实现水滴图 引入依赖&#xff0c;echarts-liquidfill3兼容echarts5; 安装依赖 "echarts": "^5.4.3","echarts-liquidfill": "^3.1.0",npm install echarts-liquidfill3.1.0 -S实现的效果图 构建一个水滴图的页面 <tem…

Scanpy(1)数据结构和样本过滤

注&#xff1a;主要讲述scanpy处理数据的结构、数据过滤&#xff08;生信领域&#xff09;和数据预处理&#xff08;和机器学习类似&#xff0c;但是又有不同。&#xff09; 1. Scanpy简介与安装 Scanpy 是一个可扩展的工具包&#xff0c;用于分析与 AnnData&#xff08;一种…

【spring mvc】配置默认Servlet处理器

最近在开发项目时遇到将springmvc无法处理的静态资源请求转发给tomcat默认的servlet进行处理的场景&#xff0c;然后根据DispatcherServlet请求的路径&#xff0c;找到了如何配置默认Servlet处理器。 一、配置方式 具体需要看您是否使用了springmvc提供的方式完成的注入配置&…

SpringCloud系列(19)--将服务消费者Consumer注册进Consul

前言&#xff1a;在上一章节中我们把服务提供者Provider注册进了Consul&#xff0c;而本章节则是关于如何将服务消费者Consumer注册进Consul 1、再次创建一个服务提供者模块&#xff0c;命名为consumerconsul-order80 (1)在父工程下新建模块 (2)选择模块的项目类型为Maven并选…

LabelMe和x-anyLabeling标注工具的合二为一版

LabelMe标注辅助工具&#xff0c;anylabeling标注辅助 LabelMe和X-AnyLabeling都是用于图像标注的工具&#xff0c;它们各自具有独特的特点和功能。 LabelMe是一款广泛使用的开源图像标注工具&#xff0c;专门用于图像标注和语义分割。它提供了一个平台&#xff0c;使用户能够手…

2024LarkXR新增功能系列之九| 优化分配策略:增加GPU检查参数

Paraverse平行云实时云渲染解决方案LarkXR在2024年新增了优化分配策略&#xff0c;增强了GPU检查参数的能力&#xff0c;满足了复杂元宇宙/数字孪生场景多样性的可视化的需求&#xff0c;为这些应用找到了更好的解决方案。新版本的LarkXR在渲染请求分配策略上做出了显著的改进。…