ABC 350 C - Sort

devtools/2024/9/24 10:02:49/

C - Sort (atcoder.jp)

思路

就按举的例子来说:

输入:

5
34125

输出:

2
1 3
2 4

The operations change the sequence as follows:

  • Initially, A=(3,4,1,2,5).
  • The first operation swaps the first and third elements, making =(1,4,3,2,5).
  • The second operation swaps the second and fourth elements, making A=(1,2,3,4,5).

Other outputs such as the following are also considered correct:

4
2 3
3 4
1 2
2 3
A数组34125

目标格局

12345
映射数组(对应数组)1->32->43->14->25->5

我们通过A数组以及目标格局采用线性扫描的方式(复杂度O(N)),把原来的数字与现在的位置下标对应,写出映射数组。

我们尝试把映射数组里按照升序还原,并在此期间改变A数组。

3 4 1 2 5
(1)1 4 3 2 5
(2)1 2 3 4 5
-END-

我们可以发现这样做是可行的!

再是一个样例:

输入:

3
3 1 2

尝试:

3 1 2
(1)1 3 2
(2)1 2 3
-END-

答案是2,与标准一致。

我们只需在把变换过程输出就行了~

(见后续---)


http://www.ppmy.cn/devtools/38458.html

相关文章

生成式人工智能教学解决方案

一、软件技术人员的需求分析 在当今信息化社会,软件技术作为推动科技创新和经济发展的核心力量,其重要性日益凸显。随着数字化转型的加速推进,各行各业对软件技术人才的需求呈现出多元化、高端化的发展趋势。以下是软件技术人员需求的详细分…

医药垃圾分类管理系统|基于SSM医药垃圾分类管理系统的系统设计与实现(源码+数据库+文档)

医药垃圾分类管理系统 目录 基于SSM医药垃圾分类管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统登录模块 2管理员模块实现 3用户模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博…

【Web前端】定位_浮动_音视频

1、定位 1.1想对定位 相对定位,使用relative,参考点是标签之前的位置,不是相对于父节点、同级节点或浏览器。相对定位通过left、right进行水平偏移,通过top、bottom进行垂直偏移Ieft:表示相对于原本位置的左外边界右移的距离rig…

领域驱动设计架构演进

领域驱动设计由于其强调对领域的深入理解和关注业务价值,其架构演进依赖于领域的变化和特定领域中的技术实践。 初始阶段 一个单体架构,所有的功能都集成在一个应用程序中,领域模型可能还不完全清晰,甚至并未形成。这个阶段主要是为了验证产品的可行性,快速迭代并尽快推…

CSS中的Float(浮动)

CSS中的Float(浮动) 目录 CSS中的Float(浮动) 一、 什么是Float? 二、 Float的工作原理 三、Float的属性值 四、Float的清除 五、 Float的注意事项 六、 Float的代码示例 七、Float的最佳实践 一、 什么是Floa…

住宅物业满意度定性和定量调研方法有哪些?

本文由群狼调研(长沙物业收费价格调研)出品,欢迎转载,请注明出处。住宅物业满意度调研可以结合定性和定量方法,以获取更全面的数据和深入的理解。以下是一些常见的定性和定量调研方法: 1.定性调研方法&…

爬虫:爬取豆瓣电影

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 上篇我们将到如何利用xpath的规则,那么这一次,我们将通过案例来告诉读者如何使用Xpath来定位到我们需要的数据,就算你不懂H5代码是怎么个嵌套或者十分复…

MySQL#MySql数据库的操作

目录 一、创建数据库 二、字符集和校验规则 1.查看系统默认字符集以及校验规则 2.查看数据库支持的字符集 3.查看数据库支持的字符集校验规则 4.校验规则对数据库的影响 1.以UTF-8格式创建数据库 2.不区分大小写 3.区分大小写 4 大小写对数据库的影响 三、操纵数据…