计算名次

构造一个新数组,将对应位置的数字,从大到小或从小到大排序的名次存储,并输出

//计算名次
#include<iostream>
#include<cstring>
using namespace std;
int book[101];
void rank(int *a,int n,int book[]){
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)
        if(a[j]<a[i]) book[i]++;
//        else book[j]++;
    }
}
int main()
{
    int n;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++) cin>>a[i];
    memset(book,0,sizeof(book));
    rank(a,n,book);
    for(int i=0;i<n;i++) cout<<book[i]<<" ";
    cout<<endl;
} 

原文地址:https://www.cnblogs.com/helloworld2019/p/10351144.html

时间: 2024-11-10 23:50:19

计算名次的相关文章

DataFrame基本操作 &lt;三&gt; 计算名次,移除重复数据,数据替换,划分区间,分组统计(变成类)

生成一个实例 df5 = DataFrame({'b': [4.3, 7, -3, 2], 'a': [0, 1, 0, 1], 'c': [-2, 5, 8, -2.5]}) print(df5) 运行结果 b a c 0 4.3 0 -2.0 1 7.0 1 5.0 2 -3.0 0 8.0 3 2.0 1 -2.5 计算名次 print(df5.rank() ) # 按行计算名次 print(df5.rank(axis=1)) # 按列计算名次 #这有意思了,这是计算名次,显示的结果是名次

学习笔记:后缀数组

后缀数组是指对于后缀排序后,每个后缀的位置:sa[rank]=pos:排名为rank的后缀是pos->len这个后缀 note:rank[pos]=rank:位置为pos的串排名为rank 白书上的代码简洁明了,很容易理解. 核心思想:我们对于每个位置开始的后缀,不直接计算,先计算从这个位置开始,向后1位是第几小,然后向后2位,向后4位,一直到*2>n,这时就算好了后缀数组 复杂度:O(n*log(n)^2) :倍增log(n),快排log(n) 代码: bool cp(int x,int y

后缀数组解决在线的多模板匹配问题

终于学会倍增法了, 先一个最水最水的后缀数组应用. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1e6; char buf[maxn]; int str[maxn], len, sa[maxn]; inline int idx(char c) { return c - 'a'; } int stra[maxn], strb[

数据结构之后缀数组

1. 概述 后缀数组是一种解决字符串问题的有力工具.相比于后缀树,它更易于实现且占用内存更少.在实际应用中,后缀数组经常用于解决字符串有关的复杂问题. 本文大部分内容摘自参考资料[1][2]. 2. 后缀数组 2.1   几个概念 (1)后缀数组SA 是一个一维数组,它保存1..n 的某个排列SA[1],SA[2],--,SA[n],并且保证Suffix(SA[i]) < Suffix(SA[i+1]),1≤i<n.也就是将S 的n 个后缀从小到大进行排序之后把排好序的后缀的开头位置顺次放入S

ACM-ICPC 2015 东亚洲大陆子赛区(Asia EastContinent Sub-region,包括中国大陆赛区)特别规则

I. 简化及重组亚洲委员会 鉴于ACM-ICPC总部执行总裁的要求:简化及重组亚洲委员会,并简化亚洲区队伍晋级世界大赛的规则.亚洲区主席正式宣布取消各国家及各地区的竞赛指导委员会,所有亚洲及中国赛区各赛站及组委会直接接受亚洲主席的领导,提高各赛场组委会的自主度.完整性及独立运作. 此规则由亚洲委员会里的EC会员讨论后,经亚洲EC常务委员会通过并经亚洲主席批准. 亚洲委员会里的EC常务委员,经亚洲主席批准,可代表亚洲主席参加亚洲区域赛的开幕式和闭幕式. 所有亚洲区域赛的主办单位是ACM-ICPC.

浅谈后缀数组

1. 概述 后缀数组是一种解决字符串问题的有力工具.相比于后缀树,它更易于实现且占用内存更少.在实际应用中,后缀数组经常用于解决字符串有关的复杂问题. 本文大部分内容摘自参考资料[1][2]. 2. 后缀数组 2.1   几个概念 (1)后缀数组SA 是一个一维数组,它保存1..n 的某个排列SA[1],SA[2],--,SA[n],并且保证Suffix(SA[i]) < Suffix(SA[i+1]),1≤i<n.也就是将S 的n 个后缀从小到大进行排序之后把排好序的后缀的开头位置顺次放入S

拓扑排序_确定比赛名次

确定比赛名次 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前.现在请你编程序确定排名. Input 输入有若干组,每组中的第一行为二个数N(1<=N<=500),M:其中N表示队伍的个数,M表示接着有M行的输入数据.接下来的M行数据中,

锋利的SQL-基于窗口的排名计算

在SQL Server中,窗口被定义为用户指定的一组行. 之所以要提出窗口这个概念,因为这种基于窗口或分区的重新计算在实际工作应用范围比较广泛.例如,假设我们要对每个班级中的学生按成绩进行排序,在对第1个班级排序完成后,对第2个班级进行排序时编号需要重新从1开始.在SQL Server 2005之前,像这种排序方式实现起来是比较烦琐的.可以说,对新窗口重新启动计算是窗口计算的重要特点. 为支持窗口计算,SQLServer提供了OVER子句和窗口函数.窗口函数在MSDN Library中被翻译为开

hduoj 1285 确定比赛名次

http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14739 Accepted Submission(s): 5892 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛