提交记录 20759
提交时间 |
评测时间 |
2023-12-29 21:06:30 |
2023-12-29 21:06:52 |
#include<bits/stdc++.h>
void sort(unsigned *a,int n)
{
int pow2=8,siz=1<<pow2;
unsigned *b=new unsigned[n],*cnt=new unsigned[siz];
memset(cnt,0,siz*4);
for(int j=0; j<=n-1; ++j) ++cnt[a[j]&siz-1];
for(int j=1; j<=siz-1; ++j) cnt[j]+=cnt[j-1];
for(int j=n-1; j>=0; --j) b[--cnt[a[j]&siz-1]]=a[j];
memset(cnt,0,siz*4);
for(int j=0; j<=n-1; ++j) ++cnt[b[j]>>pow2&siz-1];
for(int j=1; j<=siz-1; ++j) cnt[j]+=cnt[j-1];
for(int j=n-1; j>=0; --j) a[--cnt[b[j]>>pow2&siz-1]]=b[j];
memset(cnt,0,siz*4);
int pow22=pow2*2;
for(int j=0; j<=n-1; ++j) ++cnt[a[j]>>pow22&siz-1];
for(int j=1; j<=siz-1; ++j) cnt[j]+=cnt[j-1];
for(int j=n-1; j>=0; --j) b[--cnt[a[j]>>pow22&siz-1]]=a[j];
memset(cnt,0,siz*4);
int pow23=pow2*3;
for(int j=0; j<=n-1; ++j) ++cnt[b[j]>>pow23&siz-1];
for(int j=1; j<=siz-1; ++j) cnt[j]+=cnt[j-1];
for(int j=n-1; j>=0; --j) a[--cnt[b[j]>>pow23&siz-1]]=b[j];
}
Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
Testcase #1 | 16.235 s | 1024 MB + 36 KB | Accepted | Score: 100 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2024-11-23 08:45:55 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠