提交记录 332
| 提交时间 |
评测时间 |
| 2018-06-20 13:22:36 |
2020-07-31 20:37:41 |
unsigned B[100000005];
unsigned s[255+1];
void radix_sort_(unsigned *A,int l,int r){ //a[i]>=0, -O2
const unsigned base = 255;
A+=l-1;r-=l-1;l=1;
register unsigned *a=A,*b=B;
{
for (int i=0;i<=base;++i)s[i]=0;
for (int i=1;i<=r;++i)++s[a[i]&base];
for (int i=1;i<=base;++i)s[i]+=s[i-1];
for (int i=r;i>=1;--i)b[s[a[i]&base]--]=a[i];
unsigned *tmp=a;a=b;b=tmp;
}
{
for (int i=0;i<=base;++i)s[i]=0;
for (int i=1;i<=r;++i)++s[a[i]>>8&base];
for (int i=1;i<=base;++i)s[i]+=s[i-1];
for (int i=r;i>=1;--i)b[s[a[i]>>8&base]--]=a[i];
unsigned *tmp=a;a=b;b=tmp;
}
{
for (int i=0;i<=base;++i)s[i]=0;
for (int i=1;i<=r;++i)++s[a[i]>>16&base];
for (int i=1;i<=base;++i)s[i]+=s[i-1];
for (int i=r;i>=1;--i)b[s[a[i]>>16&base]--]=a[i];
unsigned *tmp=a;a=b;b=tmp;
}
{
for (int i=0;i<=base;++i)s[i]=0;
for (int i=1;i<=r;++i)++s[a[i]>>24&base];
for (int i=1;i<=base;++i)s[i]+=s[i-1];
for (int i=r;i>=1;--i)b[s[a[i]>>24&base]--]=a[i];
unsigned *tmp=a;a=b;b=tmp;
}
if (a!=A)for (int i=1;i<=r;++i)A[i]=a[i];
}
void sort(unsigned *a, int n){
radix_sort_(a, 0, n-1);
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 854.641 ms | 762 MB + 972 KB | Accepted | Score: 100 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-04-28 18:13:55 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠