提交记录 21954


用户 题目 状态 得分 用时 内存 语言 代码长度
houhui 1001b. 测测你的排序3 Accepted 100 35.455 s 1048588 KB C++ 632 B
提交时间 评测时间
2024-07-15 21:10:10 2024-07-15 21:10:48
#include <algorithm>

const unsigned N  = (1 << 27) + 10, LB = 8, B = 1 << LB;
unsigned b[N];
unsigned cnt[B], *p[B], *pp;
void sort(unsigned *a, int n) {
--a;
	for(int k = 0; k < 32; k += LB) {
		for(int i = 1; i <= n; ++i)
			++cnt[a[i] >> k & (B - 1)];
		pp = b + 1;
		for(int i = 0; i < B; ++i)
			p[i] = pp, pp += cnt[i], cnt[i] = 0;
		for(int i = 1; i <= n; ++i)
			*p[a[i] >> k & (B - 1)]++ = a[i];
		k += LB;
		for(int i = 1; i <= n; ++i)
			++cnt[b[i] >> k & (B - 1)];
		pp = a + 1;
		for(int i = 0; i < B; ++i)
			p[i] = pp, pp += cnt[i], cnt[i] = 0;
		for(int i = 1; i <= n; ++i)
			*p[b[i] >> k & (B - 1)]++ = b[i];
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #135.455 s1024 MB + 12 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2024-12-05 10:31:00 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠