题目:(由于题干过长直接上链接:P7910 [CSP-J 2021] 插入排序 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 不是打广告 又有一个新思路: 我们可以再开一个b数组用来记录第i个数排序后的位置并在更改数据(操作一)后维护b数组,使b数组依然适用。 同时还要开一个struct s(用于记录a数组)记录id(输入顺序...
CSP-J 2021 T2 插入排序 题目 题目简述 给定一个长度为nn的数列aa,需要维护单点修改和冒泡排序后初始数列aa内一元素在更改后的新数组的下标。 思路 首先我们要知道一个小知识,原来有序的数组在经过单点修改后可以用从前往后的冒泡排序加从后往前的冒泡排序各一遍来保持有序,也就是在经过单点修改后我们只需要用...
#include<iostream>#include<cstdio>usingnamespacestd;structnumber{intnum,add;}a[8001];intmain(){intn,q;scanf("%d%d",&n,&q);for(inti=1;i<=n;i++){scanf("%d",&a[i].num);a[i].add=i;}for(inti=1;i<=n;i++)for(intj=i;j>=2;j--)if(a[j].num<a[j-1].num){swap(a[...
在修改操作之前,假设 H 老师进行了一次插入排序,则原序列的三个元素在排序结束后所处的位置分别是 3, 1, 2。 注意虽然此时 a2 = a3,但是我们 不能将其视为相同的元素。 Source csp-j 2021 T2 上一题 下一题 1 请先登陆 黔ICP备2021006588号 © 小胖在线判题系统(OJ) OJ 2025 中文简体 |...