提交记录 21953


用户 题目 状态 得分 用时 内存 语言 代码长度
houhui 1001a. 测测你的排序2 Accepted 100 82.21 us 92 KB C++ 627 B
提交时间 评测时间
2024-07-15 21:05:31 2024-07-15 21:05:32
#include <algorithm>

const unsigned N  = 1e8 + 100, 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 #182.21 us92 KBAcceptedScore: 100


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