蓝桥杯ALGO-1,区间k大数查询

Posted Carol淋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯ALGO-1,区间k大数查询相关的知识,希望对你有一定的参考价值。

#include<stdio.h>

int devide(long a[],int low,int high){
long key=a[high];
while(low<high){
while(low<high&&a[low]>key){
low++;
}
if(low<high)
a[high--]=a[low];
while(low<high&&a[high]<key){
high--;
}
if(low<high)
a[low++]=a[high];
}
a[high]=key;
return high;
}

void sort(long a[],int low,int high){
if(low>high){
return ;
}
int j;
j=devide(a,low,high);
sort(a,low,j-1);
sort(a,j+1,high);
}

int main(){
int n,i,j;
long a[1000],b[1000];
int m;
int l,r,k;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%ld",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
b[j]=a[j];
}
scanf("%d%d%d",&l,&r,&k);
sort(b,l-1,r-1);
printf("%d\n",b[l+k-2]);
}
return 0;

}

以上是关于蓝桥杯ALGO-1,区间k大数查询的主要内容,如果未能解决你的问题,请参考以下文章

算法笔记_079:蓝桥杯练习 区间k大数查询(Java)

蓝桥杯--算法训练

K倍区间 -- 蓝桥杯

蓝桥杯 K倍区间 python

2017蓝桥杯 K倍区间 前缀和+同余定理

第八届蓝桥杯-k倍区间