【洛谷 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;
}
目录
相关文章
|
4月前
|
机器学习/深度学习 算法 C++
【洛谷 P2240】【深基12.例1】部分背包问题 题解(贪心算法)
**深基12.例1**是部分背包问题,$N$堆金币,每堆$(m_i, v_i)$,$T$承重限制。按金币单价降序装包,保证价值最大化。输入$N,T$及每堆金币详情,输出两位小数的最大价值。示例:输入$4,50$,输出$240.00$。AC代码使用C++,通过排序和迭代实现。
57 0
|
4月前
|
算法 索引
【洛谷 P1923】【深基9.例4】求第 k 小的数 题解(快速排序)
该题目要求输入一组不超过5000000个奇数个整数,并找出其中第k小的数,不使用`nth_element`函数,而是通过实现快速排序来解决。样例输入为5个数1, 4, 3, 2, 5,k=1,输出第1小的数即最小值2。代码中定义了快速排序函数`quickSort`和划分函数`partition`,并使用`read`函数读取输入。在主函数中对数组进行排序后输出第k个元素。
31 0
|
4月前
|
C++
【洛谷 P1706】全排列问题 题解(全排列)
该问题要求按字典序输出从1到n的所有不重复排列。输入为整数n,输出为每行一个的数字序列,每个数字占5个宽度。样例输入3,输出6行全排列。代码使用C++,通过`next_permutation`函数生成所有排列。注意n的范围是1到9。
28 0
|
机器学习/深度学习 算法 索引
LeetCode 周赛 342(2023/04/23)容斥原理、计数排序、滑动窗口、子数组 GCB
前天刚举办 2023 年力扣杯个人 SOLO 赛,昨天周赛就出了一场 Easy - Easy - Medium - Medium 的水场,不得不说 LeetCode 是懂礼数的 😁。 接下来,请你跟着小彭的思路,一步步将问题做难,再将问题做简单。
87 0
|
算法
每日算法刷题Day12-跳台阶、排列、替换空格、求n累加
⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。
90 0
每日算法刷题Day12-跳台阶、排列、替换空格、求n累加
|
算法 JavaScript 前端开发
【每日算法打卡】1. 两数之和
【每日打卡系列】LeetCode 简单题 200 道
【每日算法打卡】1. 两数之和
【每日算法打卡】LCS 02. 完成一半题目
【每日打卡系列】LeetCode 简单题 200 道
【每日算法打卡】LCS 02. 完成一半题目