提交记录 15377
| 用户 | 题目 | 状态 | 得分 | 用时 | 内存 | 语言 | 代码长度 |
|---|---|---|---|---|---|---|---|
| wawcac | wc2017b1. 【WC2017】挑战-任务1 | Compile Error | 0 | 0 ns | 0 KB | C++ | 3.63 KB |
| 提交时间 | 评测时间 |
|---|---|
| 2020-12-26 22:36:42 | 2020-12-26 22:36:44 |
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];
}
int tim=n>>3;//循环展开为8
u32 *now=a+n-1,*bb=b,*cnt=cnt0;
while(tim--){
bb[--cnt[now[0]&255]]=now[0];
bb[--cnt[now[-1]&255]]=now[-1];
bb[--cnt[now[-2]&255]]=now[-2];
bb[--cnt[now[-3]&255]]=now[-3];
bb[--cnt[now[-4]&255]]=now[-4];
bb[--cnt[now[-5]&255]]=now[-5];
bb[--cnt[now[-6]&255]]=now[-6];
bb[--cnt[now[-7]&255]]=now[-7];
now-=8;
}
now-=(n&7);
switch(n&7){
case 7:bb[--cnt[now[1]&255]]=now[1];
case 6:bb[--cnt[now[2]&255]]=now[2];
case 5:bb[--cnt[now[3]&255]]=now[3];
case 4:bb[--cnt[now[4]&255]]=now[4];
case 3:bb[--cnt[now[5]&255]]=now[5];
case 2:bb[--cnt[now[6]&255]]=now[6];
case 1:bb[--cnt[now[7]&255]]=now[7];
}
tim=n>>3;//循环展开为8
u32 *now=b+n-1,*bb=a,*cnt=cnt8;
while(tim--){
bb[--cnt[now[0]&255]]=now[0];
bb[--cnt[now[-1]&255]]=now[-1];
bb[--cnt[now[-2]&255]]=now[-2];
bb[--cnt[now[-3]&255]]=now[-3];
bb[--cnt[now[-4]&255]]=now[-4];
bb[--cnt[now[-5]&255]]=now[-5];
bb[--cnt[now[-6]&255]]=now[-6];
bb[--cnt[now[-7]&255]]=now[-7];
now-=8;
}
now-=(n&7);
switch(n&7){
case 7:bb[--cnt[now[1]&255]]=now[1];
case 6:bb[--cnt[now[2]&255]]=now[2];
case 5:bb[--cnt[now[3]&255]]=now[3];
case 4:bb[--cnt[now[4]&255]]=now[4];
case 3:bb[--cnt[now[5]&255]]=now[5];
case 2:bb[--cnt[now[6]&255]]=now[6];
case 1:bb[--cnt[now[7]&255]]=now[7];
}
tim=n>>3;//循环展开为8
u32 *now=a+n-1,*bb=b,*cnt=cnt16;
while(tim--){
bb[--cnt[now[0]&255]]=now[0];
bb[--cnt[now[-1]&255]]=now[-1];
bb[--cnt[now[-2]&255]]=now[-2];
bb[--cnt[now[-3]&255]]=now[-3];
bb[--cnt[now[-4]&255]]=now[-4];
bb[--cnt[now[-5]&255]]=now[-5];
bb[--cnt[now[-6]&255]]=now[-6];
bb[--cnt[now[-7]&255]]=now[-7];
now-=8;
}
now-=(n&7);
switch(n&7){
case 7:bb[--cnt[now[1]&255]]=now[1];
case 6:bb[--cnt[now[2]&255]]=now[2];
case 5:bb[--cnt[now[3]&255]]=now[3];
case 4:bb[--cnt[now[4]&255]]=now[4];
case 3:bb[--cnt[now[5]&255]]=now[5];
case 2:bb[--cnt[now[6]&255]]=now[6];
case 1:bb[--cnt[now[7]&255]]=now[7];
}
tim=n>>3;//循环展开为8
u32 *now=b+n-1,*bb=a,*cnt=cnt24;
while(tim--){
bb[--cnt[now[0]&255]]=now[0];
bb[--cnt[now[-1]&255]]=now[-1];
bb[--cnt[now[-2]&255]]=now[-2];
bb[--cnt[now[-3]&255]]=now[-3];
bb[--cnt[now[-4]&255]]=now[-4];
bb[--cnt[now[-5]&255]]=now[-5];
bb[--cnt[now[-6]&255]]=now[-6];
bb[--cnt[now[-7]&255]]=now[-7];
now-=8;
}
now-=(n&7);
switch(n&7){
case 7:bb[--cnt[now[1]&255]]=now[1];
case 6:bb[--cnt[now[2]&255]]=now[2];
case 5:bb[--cnt[now[3]&255]]=now[3];
case 4:bb[--cnt[now[4]&255]]=now[4];
case 3:bb[--cnt[now[5]&255]]=now[5];
case 2:bb[--cnt[now[6]&255]]=now[6];
case 1:bb[--cnt[now[7]&255]]=now[7];
}
}
| Compilation | N/A | N/A | Compile Error | Score: N/A | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-03-20 22:43:17 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠