基数排序:为啥会RE?

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

weimanchi2 @ 2021-11-14 09:07:36

#include<bits/stdc++.h>
using namespace std;
int a[99999999],n,k;
struct edge
{
    int next,to;
}e[99999999];
int head[400];
inline void write(int x)
{
    if(x>9)write(x/10);
    putchar(x%10^48);
}
inline void sort()
{
    for(int i=0,p=n;i<32;i+=8,p=n)
    {
        for(int j=1;j<=n;j++)
        {
            e[j].next=head[(a[j]>>i)&255];
            head[((e[j].to=a[j])>>i)&255]=j;
        }
        for(int j=255;j>-1;j--)
            for(;head[j];head[j]=e[head[j]].next)
                a[p--]=e[head[j]].to;
    }
}
int main()
{
    cin>>n;
    cin>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    sort();
    for(int i=1;i<=n;i++)
    {
        if(i==k+1)  write(a[i]),putchar(' ');
    }
    return 0;
}

基数排序快排模板没开02优化113ms 为啥就runtime error了呢


by Bacteria @ 2021-11-30 17:50:56

同问


by MujicaSaki @ 2021-12-03 19:03:03

快速排序我也是RE啊


by 硬脂酸钠 @ 2022-10-06 15:16:36

大佬,现在解决了吗?我也是计数排序re


|