B4041 [GESP202409 四级] 区间排序

· · 题解

欢迎报名洛谷网校,报名课程可以获得对应组别的知识点讲解与答疑服务,期待和大家一起进步!点击图片即可报名。

:::align{center} :::

本题考察模拟与排序。对于读入的每一个区间 [l,r],对其做一次排序即可。

有两种处理方法,一种处理方法是自行编写一个排序函数,例如选择排序。选择排序参考代码如下:

:::info[代码] 作为 GESP 四级考生,应当能熟练默写选择排序、冒泡排序等任何一种排序方法。由于复制代码人数过多,这里不再展示代码。如果无法独立完成这段代码,请重新学习基础知识点。 :::

第二种处理方法是使用 C++ STL 的 sort() 函数。sort 的使用方式如下:

sort(first, last, comp)

其中,firstlast 指代所排序的范围的起始和最终位置,comp 是排序方式(不写默认为升序排序)。需要注意,sort 的排序范围是 [first,last) 的左闭右开区间。若是想要对区间 [l,r] 进行升序排序,应当写作:

sort(a + l, a + r + 1);
//关键在于右侧要 + 1