排队(line)——2015年南海区青少年信息学奥林匹克竞赛试题(小学甲组)

本文介绍了2015年南海区青少年信息学奥林匹克竞赛小学甲组的一道题目,涉及数列排序和逆序数统计。通过使用归并排序的方法,解决在大规模数列中计算每个数前面比它大的数的数量问题。
摘要由CSDN通过智能技术生成

排队(line)

题目描述

楠楠最近在研究南海区5年级英语成绩的排序有关算法,如果数列中的数是从小到大排列的,则称有序的。研究中对于没有排好序的数列,要统计每个数前面有多少比它大的数字。比如有5个数的数列: 3 1 4 2 5,则第1个数3之前有0个数比它大;第2个数1之前有1个数比它大;第3个数4之前有0个数比它大;第4个数2之前有2个数比它大;第5个数5之前有0个数比它大。由于数列很长,楠楠求你编程来统计。 输入格式:
第一行1个整数N,表示数列有N个整数。
第二行有N个非负整数,每个数表示一个分数,范围是[0…120]。 输出格式:
一行N个非负整数(中间有空格),第i个数表示原数列中第i位前有多少比第i位数大。
输入样例

5
3 1 4 2 5

输出样例
0 1 0 2 0
数据范围

  • 8个的数据: N的范围是[1…1000],每个数范围是[0…120]
  • 2个的数据:N的范围是[1…1,00,000],每个数范围是[0…120]

解题思路

使用归并排序来计算各个位置的逆序数


代码实现
#include <stdio.h&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值