提交记录 857
| 提交时间 |
评测时间 |
| 2018-06-20 17:09:34 |
2020-07-31 20:43:45 |
unsigned b[100000000], cnt[256];
void songsongsong(unsigned *a,unsigned n){
unsigned *A=a, *B=b, *T;
{
register unsigned i;
for (i=0;i<256;++i) cnt[i]=0;
for (i=0;i<n;i+=8){
++cnt[A[i]&255];
++cnt[A[i+1]&255];
++cnt[A[i+2]&255];
++cnt[A[i+3]&255];
++cnt[A[i+4]&255];
++cnt[A[i+5]&255];
++cnt[A[i+6]&255];
++cnt[A[i+7]&255];
}
for (i=1;i<256;++i) cnt[i]+=cnt[i-1];
for (i=n-1;~i;i-=8){
B[--cnt[A[i]&255]]=A[i];
B[--cnt[A[i-1]&255]]=A[i-1];
B[--cnt[A[i-2]&255]]=A[i-2];
B[--cnt[A[i-3]&255]]=A[i-3];
B[--cnt[A[i-4]&255]]=A[i-4];
B[--cnt[A[i-5]&255]]=A[i-5];
B[--cnt[A[i-6]&255]]=A[i-6];
B[--cnt[A[i-7]&255]]=A[i-7];
}
T=A; A=B; B=T;
}
{
register unsigned i;
for (i=0;i<256;++i) cnt[i]=0;
for (i=0;i<n;i+=8){
++cnt[A[i]>>8&255];
++cnt[A[i+1]>>8&255];
++cnt[A[i+2]>>8&255];
++cnt[A[i+3]>>8&255];
++cnt[A[i+4]>>8&255];
++cnt[A[i+5]>>8&255];
++cnt[A[i+6]>>8&255];
++cnt[A[i+7]>>8&255];
}
for (i=1;i<256;++i) cnt[i]+=cnt[i-1];
for (i=n-1;~i;i-=8){
B[--cnt[A[i]>>8&255]]=A[i];
B[--cnt[A[i-1]>>8&255]]=A[i-1];
B[--cnt[A[i-2]>>8&255]]=A[i-2];
B[--cnt[A[i-3]>>8&255]]=A[i-3];
B[--cnt[A[i-4]>>8&255]]=A[i-4];
B[--cnt[A[i-5]>>8&255]]=A[i-5];
B[--cnt[A[i-6]>>8&255]]=A[i-6];
B[--cnt[A[i-7]>>8&255]]=A[i-7];
}
T=A; A=B; B=T;
}
{
register unsigned i;
for (i=0;i<256;++i) cnt[i]=0;
for (i=0;i<n;i+=8){
++cnt[A[i]>>16&255];
++cnt[A[i+1]>>16&255];
++cnt[A[i+2]>>16&255];
++cnt[A[i+3]>>16&255];
++cnt[A[i+4]>>16&255];
++cnt[A[i+5]>>16&255];
++cnt[A[i+6]>>16&255];
++cnt[A[i+7]>>16&255];
}
for (i=1;i<256;++i) cnt[i]+=cnt[i-1];
for (i=n-1;~i;i-=8){
B[--cnt[A[i]>>16&255]]=A[i];
B[--cnt[A[i-1]>>16&255]]=A[i-1];
B[--cnt[A[i-2]>>16&255]]=A[i-2];
B[--cnt[A[i-3]>>16&255]]=A[i-3];
B[--cnt[A[i-4]>>16&255]]=A[i-4];
B[--cnt[A[i-5]>>16&255]]=A[i-5];
B[--cnt[A[i-6]>>16&255]]=A[i-6];
B[--cnt[A[i-7]>>16&255]]=A[i-7];
}
T=A; A=B; B=T;
}
{
register unsigned i;
for (i=0;i<256;++i) cnt[i]=0;
for (i=0;i<n;i+=8){
++cnt[A[i]>>24&255];
++cnt[A[i+1]>>24&255];
++cnt[A[i+2]>>24&255];
++cnt[A[i+3]>>24&255];
++cnt[A[i+4]>>24&255];
++cnt[A[i+5]>>24&255];
++cnt[A[i+6]>>24&255];
++cnt[A[i+7]>>24&255];
}
for (i=1;i<256;++i) cnt[i]+=cnt[i-1];
for (i=n-1;~i;i-=8){
B[--cnt[A[i]>>24&255]]=A[i];
B[--cnt[A[i-1]>>24&255]]=A[i-1];
B[--cnt[A[i-2]>>24&255]]=A[i-2];
B[--cnt[A[i-3]>>24&255]]=A[i-3];
B[--cnt[A[i-4]>>24&255]]=A[i-4];
B[--cnt[A[i-5]>>24&255]]=A[i-5];
B[--cnt[A[i-6]>>24&255]]=A[i-6];
B[--cnt[A[i-7]>>24&255]]=A[i-7];
}
T=A; A=B; B=T;
}
}
void sort(unsigned *a, int n)
{
songsongsong(a,n);
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 826.927 ms | 762 MB + 972 KB | Accepted | Score: 100 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-04-25 21:50:55 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠