本次笔记内容:
习题-SWS.1 环的分类
习题-SWS.2 算法示例

文章目录

  • 题意理解
  • 环的分类
  • 算法示例

题意理解

如上图,本题目中仅利用与0交换的操作,以达到排序目的。联想到环排序。0其实就是空位。

题目要求输出0的使用次数。

因此,本题目转换为对环进行处理即可。

环的分类

如上图,环分为三类。对于第三种情况,先把0交换到环里,则环里一共有n+1个元素。之前要把0交换到环里,因此需要在(n+1)-1基础上再加1。

若N个元素的序列包含S个单元环、K个多元环,则交换次数为:n0−1+∑i=1K−1(ni+1)=∑i=0K−1ni+K−2=N−S+K−2n_0 - 1 + \sum^{K-1}_{i=1}(n_i + 1)=\sum^{K-1}_{i=0} n_i + K - 2 = N - S + K - 2n0​−1+i=1∑K−1​(ni​+1)=i=0∑K−1​ni​+K−2=N−S+K−2

因此本题目中输出,即为上式。

算法示例

如上图,定义一个指针数组,记录每个元素当前的位置。比如0现在放的位置是7,则T[0]=7。

如上图,对环进行移动。并且在遇到0操作时停下,判断本环的结束。并且判断有没有0,来决定加数。第一个环结束,进行3+。

最终,结果为3+6=9!

浙江大学,数据结构,完结撒花!2019年10月23日22:27:53~图书馆正好关门!

【数据结构笔记46】Sort with Swap(0,*)只允许交换0的排序相关推荐

  1. 算法 排序6 Sort with Swap(0, i) 2013年免试研究生上机考试真题

    全部每周作业和视频思考题答案和解析 见 浙江大学 数据结构 思考题+每周练习答案 题目:Given any permutation of the numbers {0, 1, 2,..., N−1}, ...

  2. 1067 Sort with Swap(0, i) (25 分)

    1067 Sort with Swap(0, i) (25 分) Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy ...

  3. PTA 1067 Sort with Swap(0, i) (25 分)(思维)

    传送门:点我 Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasin ...

  4. PAT甲级1067 Sort with Swap(0, i):[C++题解]此题不是很懂!!

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:y总从图论的角度来讲解的这道题,听得不是很懂. 此题不是很懂,暂留以后探讨.存在鸽的可能. ac代码 #include<bits ...

  5. 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Given any permutation of the numbers {0, 1, 2,-, N−1}, it is easy ...

  6. 1067. Sort with Swap(0,*)

    好弱啊,这个题目折腾了好久. 构造hash表用来维护各个元素所在的位置,利用map维护一颗红黑树来保存还未确定的元素的位置. (1)用0不断的跟其他元素交换,每次交换都会保证一个元素在正确的位置. ( ...

  7. PAT A1067 Sort with Swap(0, i) ——天街小雨润如酥,草色遥看近却无

    PAT A1067 Sort with Swap(0, i) 本题使用了姥姥教的方法,通过交换过程(第一个开始动的元素,通过一系列交换到达自己应该在的位置)可以发现他们形成了一个闭环,大家手拉手,每个 ...

  8. 1067 Sort with Swap(0, i) (25 分)【难度: 中 / 知识点: 置换群】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805403651522560 这种相关的题目见过很多次了. 常见的是只可以 ...

  9. 排序算法(二)Sort with Swap(0,*)

    对于一个由0到N-1的序列,如果只能交换0和另一个数的位置,求多少次能够将序列变为递增序列. 输入为<N> <序列>(N和序列之间有一个空格,序列元素之间均有一个空格). 设序 ...

最新文章

  1. mac php7 mysql.so_mac下安装php7详解
  2. 教你从0到1搭建秒杀系统-Canal快速入门(番外篇)
  3. 家装强电弱电布线图_强弱电布线注意事项,强弱电布线的4个讲究!
  4. 逻辑漏洞-token绕过
  5. 17 SD配置-企业结构-分配-分配允许的信用控制范围给公司码
  6. C语言中,两整数相除,若分母为零,则会出现怎样的结果???
  7. 宿主程序Crash与Lua是动态库还是静态库有关?
  8. Top20網頁爬蟲工具—5分鐘獲取網站數據
  9. OSI参考模型各层的功能详解
  10. ssh框架简单练习----------个人信息管理系统的设计与实现
  11. 对图片或者PDF流文件加水印
  12. Windows商店应用内购接入
  13. 如何使用测试仪进行400G交换机性能测试
  14. css图片锯齿,CSS 锯齿实现
  15. HTML5+CSS3小实例:篮球弹跳动画
  16. 成功解决ValueError: Duplicate plugins for name projector
  17. CAD偏移曲线(网页版)
  18. Google Chrome 中国官网最新版离线安装包下载地址
  19. 将opera强制的搜狗转为百度搜索
  20. oracle计算6的阶乘,oracle 求阶乘

热门文章

  1. 【C】输出乘法口诀表
  2. mysql安装服务和安装中常见问题install/Remove of the Service Denied与net start mysql服务启动失败解决方法
  3. 解决ajax回调函数无返回值得问题
  4. 一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误。
  5. 树莓派3B的WiFi中文乱码及搜索不到附近的WiFi_解决方案:
  6. 如何列出npm用户安装的软件包?
  7. 将数组项复制到另一个数组中
  8. 写入Visual Studio的输出窗口
  9. win11打开控制面板闪退怎么办 Windows11控制面板闪退的解决方法
  10. mybatis多对一,一对一,多对多resultMap映射,pojo映射,传参集合,封装的对象传参