全TLE,求助!

P1923 【深基9.例4】求第 k 小的数

justinjia @ 2020-08-27 08:00:55

#include"stdio.h"
void bubblesort(int a[],int end){//冒泡排序(我使用比较熟练的一种排序算法)
    for(int i=0;i<=end;i++)
        for(int j=end;j>i;j--)
            if(a[j-1]>a[j]){
                int t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
}
int main(void){
    int n,k;
    scanf("%d%d",&n,&k);
    int a[n];
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    bubblesort(a,n-1);
    printf("%d",a[k]);
    return 0;
}

我用的冒泡排序时间复杂度太高吗?


by Chinshyo @ 2020-08-27 08:24:50

@Ymw123 其实这里加一个这行语句:

ios::sync_with_stdio(false);

不是更快吗。还不用引用函数了,直接用cin和cout


by FutureThx @ 2020-08-27 08:27:59

@远刃YR彡 关闭同步流不会比快读快


by Chinshyo @ 2020-08-27 08:30:45

@Ymw123 可是我担心NOI不提供快读模板qwq


by xwy1113 @ 2020-08-27 08:33:07

@justinjia 用nth_element


by FutureThx @ 2020-08-27 08:33:17

@远刃YR彡 有点要快对线的感觉…… emm……模板自己背掉或者理解透彻考场上不就随便用了吗?


by Chinshyo @ 2020-08-27 08:35:06

@Ymw123 啊这,我..


by Chinshyo @ 2020-08-27 08:36:08

@Ymw123 估值要到多少分才可以绿名啊qwq


by FutureThx @ 2020-08-27 08:40:30

@远刃YR彡

-1 棕色 作弊者
 0 灰色 见习用户 即咕值<100的用户 
 1 蓝色 普通用户 即咕值在[100,119]的用户
 2 绿色 算法爱好者 即咕值在[120,169]的用户
 3 橙色 刷题健将 即咕值在[170,229]的用户
 4 红色 虐题狂魔 即咕值>229的用户

详见帮助中心


by 一只小H @ 2020-08-27 09:41:43

@justinjia 好像有好几种,根据不同情况选择


by justinjia @ 2020-08-27 12:50:17

@远刃YR彡 我突然想起来C++的某个头文件(可我忘了是哪个,好像是algorithm)里好像有一个叫做qsort的函数,快排似乎可以用它。


上一页 | 下一页