acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • tijei

    #include <iostream> #include <cstdio> #include <vector> using namespace std; vector <int> bucket[65536]; int get_digit(int n, int radix){ int ct = 0; while(n){ ct++, n /= radix; } return ct; } void fsort(int *left, int *right, int radix = 65536){ int max_digit = 0; for(int *i = left; i < right; i++){ max_digit = max(max_digit, get_digit(*i, radix)); } for(int _ = 1, cur = 1; _ <= max_digit; _, cur *= radix){ for(int *i = left; i < right; i){ bucket[(*i) / cur % radix].push_back(*i); } int *ct = left; for(int i = 0; i < radix; i++){ for(auto it:bucket[i]){ *ct++ = it; } bucket[i].clear(); } } } int a[100005]; int main(){ int n; cin >> n; for(int i = 1; i <= n; i++){ cin >> a[i]; } fsort(a + 1, a + n + 1); for(int i = 1; i <= n; i++){ cout << a[i] << ' '; }

    userId_undefined

    烈火麒麟

    45阅读
    39回复
    1点赞
  • 不用自己写快排yyds

    userId_undefined

    MuktorFM

    出道萌新时空双修者荣耀黄金快乐小狗CSP-S二等奖出题人
    28阅读
    2回复
    1点赞
  • 你说得对但是基数排序已纳入cjdst.h

    好用爱用

    userId_undefined

    cjdstttttt

    题解仙人时空双修者尊贵铂金勇敢小狗CSP-J一等奖出题人
    31阅读
    0回复
    1点赞
  • 题解

    userId_undefined

    zsy

    7月全勤卷王8月全勤卷王题解仙人时空双修者秩序白银快乐小狗
    3阅读
    0回复
    1点赞
  • 解题

    #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int a[1001010]; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } return 0; }

    userId_undefined

    小马“薄荷”

    倔强青铜
    0阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页