【洛谷 P1271】【深基9.例1】选举学生会 题解(计数排序)

简介: **深基9.例1**选举学生会,使用计数排序解决。给定$n$(≤999)候选人和$m$(≤2000000)选票,需按投票数排序选票。输入含$n$,$m$及$m$个候选人编号;输出排序后编号。示例:5名候选人,10张选票,输出`1 2 2 2 2 2 2 2 5 5`。代码:用数组记录每个候选人得票数,遍历数组打印每个候选人按票数的编号。

【深基9.例1】选举学生会

题目描述

学校正在选举学生会成员,有 $n(n\le 999)$ 名候选人,每名候选人编号分别从 1 到 $n$,现在收集到了 $m(m<=2000000)$ 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。

输入格式

输入 $n$ 和 $m$ 以及 $m$ 个选票上的数字。

输出格式

求出排序后的选票编号。

样例 #1

样例输入 #1

5 10
2 5 2 2 5 2 2 2 1 2

样例输出 #1

1 2 2 2 2 2 2 2 5 5

思路

计数排序,用数组储存票数。

ac代码

#include <iostream>
#include <cstring>
#define author "hex9cf"
using namespace std;

const int maxn = 100005;

int main() {
   
    int n, m;
    int vote[maxn];
    memset(vote, 0, sizeof(vote));
    cin >> n >> m;
    for(int i = 0; i < m; i++){
   
        int v;
        cin >> v;
        vote[v]++;
    }
    for(int i = 1; i <= n; i++){
   
        for(int j = 1; j <= vote[i]; j++){
   
            cout << i << " ";
        }
    }

    return 0;
}
目录
相关文章
|
5月前
|
存储
【题型总结】数位dp(一)
【题型总结】数位dp(一)
74 0
|
4月前
|
机器学习/深度学习 算法 C++
【洛谷 P2240】【深基12.例1】部分背包问题 题解(贪心算法)
**深基12.例1**是部分背包问题,$N$堆金币,每堆$(m_i, v_i)$,$T$承重限制。按金币单价降序装包,保证价值最大化。输入$N,T$及每堆金币详情,输出两位小数的最大价值。示例:输入$4,50$,输出$240.00$。AC代码使用C++,通过排序和迭代实现。
60 0
|
4月前
|
算法 索引
【洛谷 P1923】【深基9.例4】求第 k 小的数 题解(快速排序)
该题目要求输入一组不超过5000000个奇数个整数,并找出其中第k小的数,不使用`nth_element`函数,而是通过实现快速排序来解决。样例输入为5个数1, 4, 3, 2, 5,k=1,输出第1小的数即最小值2。代码中定义了快速排序函数`quickSort`和划分函数`partition`,并使用`read`函数读取输入。在主函数中对数组进行排序后输出第k个元素。
39 0
|
5月前
|
算法
leetcode热题100.三数之和
leetcode热题100.三数之和
35 1
|
5月前
代码随想录 Day40 动态规划08 LeetCodeT198打家劫舍 T213打家劫舍II T337 打家劫舍III
代码随想录 Day40 动态规划08 LeetCodeT198打家劫舍 T213打家劫舍II T337 打家劫舍III
47 0
|
5月前
|
存储 网络架构
【题型总结】数位dp(二)
【题型总结】数位dp(二)
64 0
|
算法
【AcWing&&牛客】打表找规律
【AcWing&&牛客】打表找规律
84 0
|
机器学习/深度学习 算法
LeetCode打卡 52八皇后Ⅱ&53最大子序和&54螺旋矩阵
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
131 0
LeetCode打卡 52八皇后Ⅱ&53最大子序和&54螺旋矩阵
|
算法 C++
蓝桥杯第十三讲--树状数组与线段树【习题】
蓝桥杯第十三讲--树状数组与线段树【习题】
170 0
蓝桥杯第十三讲--树状数组与线段树【习题】