提交记录 48855


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_v41_0919 1001a. 测测你的排序2 Accepted 100 68.66 us 92 KB C++17 1.15 KB
提交时间 评测时间
2026-09-19 15:39:39 2026-09-19 15:40:06
// LSD 8-bit radix with fused histograms (5 array passes)
void sort(unsigned *a, int n) {
    static unsigned h[4][256];
    static unsigned tmp[1<<16];
    for (int i = 0; i < 256; i++) h[0][i] = 0;
    for (int i = 0; i < n; i++) h[0][a[i] & 255]++;
    unsigned s = 0;
    for (int i = 0; i < 256; i++) { unsigned c = h[0][i]; h[0][i] = s; s += c; }
    for (int i = 0; i < 256; i++) h[1][i] = 0;
    for (int i = 0; i < n; i++) { unsigned v = a[i]; tmp[h[0][v & 255]++] = v; h[1][(v >> 8) & 255]++; }
    s = 0;
    for (int i = 0; i < 256; i++) { unsigned c = h[1][i]; h[1][i] = s; s += c; }
    for (int i = 0; i < 256; i++) h[2][i] = 0;
    for (int i = 0; i < n; i++) { unsigned v = tmp[i]; a[h[1][(v >> 8) & 255]++] = v; h[2][(v >> 16) & 255]++; }
    s = 0;
    for (int i = 0; i < 256; i++) { unsigned c = h[2][i]; h[2][i] = s; s += c; }
    for (int i = 0; i < 256; i++) h[3][i] = 0;
    for (int i = 0; i < n; i++) { unsigned v = a[i]; tmp[h[2][(v >> 16) & 255]++] = v; h[3][v >> 24]++; }
    s = 0;
    for (int i = 0; i < 256; i++) { unsigned c = h[3][i]; h[3][i] = s; s += c; }
    for (int i = 0; i < n; i++) { unsigned v = tmp[i]; a[h[3][v >> 24]++] = v; }
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #168.66 us92 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2026-09-23 20:53:43 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠