提交记录 15412
| 提交时间 |
评测时间 |
| 2020-12-27 01:28:54 |
2020-12-27 01:28:59 |
typedef unsigned int u32;
u32 b[200000000],cnt0[256],cnt8[256],cnt16[256],cnt24[256];
void sort(u32 *a,int n)
{
for(int i=0;i<n;++i){
++cnt0[a[i]&255];
++cnt8[a[i]>>8&255];
++cnt16[a[i]>>16&255];
++cnt24[a[i]>>24&255];
}
for(int i=1;i<=255;++i){
cnt0[i]+=cnt0[i-1];
cnt8[i]+=cnt8[i-1];
cnt16[i]+=cnt16[i-1];
cnt24[i]+=cnt24[i-1];
}
#define countingSort(a,b,k) {\
int tim=n>>3;\
u32 *now=a+n-1-8;\
while(tim--){\
b[--cnt##k[now[8]>>k&255]]=now[8];\
b[--cnt##k[now[7]>>k&255]]=now[7];\
b[--cnt##k[now[6]>>k&255]]=now[6];\
b[--cnt##k[now[5]>>k&255]]=now[5];\
b[--cnt##k[now[4]>>k&255]]=now[4];\
b[--cnt##k[now[3]>>k&255]]=now[3];\
b[--cnt##k[now[2]>>k&255]]=now[2];\
b[--cnt##k[now[1]>>k&255]]=now[1];\
now-=8;\
}\
switch(n&7){\
case 7:b[--cnt##k[a[6]>>k&255]]=a[6];\
case 6:b[--cnt##k[a[5]>>k&255]]=a[5];\
case 5:b[--cnt##k[a[4]>>k&255]]=a[4];\
case 4:b[--cnt##k[a[3]>>k&255]]=a[3];\
case 3:b[--cnt##k[a[2]>>k&255]]=a[2];\
case 2:b[--cnt##k[a[1]>>k&255]]=a[1];\
case 1:b[--cnt##k[a[0]>>k&255]]=a[0];\
}\
}
countingSort(a,b,0);
countingSort(b,a,8);
countingSort(a,b,16);
countingSort(b,a,24);
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 1.019 ms | 812 KB | Accepted | Score: 34 | 显示更多 |
| Testcase #2 | 1.113 s | 762 MB + 992 KB | Accepted | Score: 33 | 显示更多 |
| Testcase #3 | 2.225 s | 1525 MB + 928 KB | Accepted | Score: 33 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-03-20 22:07:11 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠