HDU 1718 Rank counting sort解法】的更多相关文章

本题是利用counting sort的思想去解题. 注意本题,好像利用直接排序,然后查找rank是会直接被判WA的.奇怪的推断系统. 由于分数值的范围是0到100,很小,而student 号码又很大,故此天然的须要利用counting sort的情况. #include <stdio.h> #include <string.h> const int MAX_N = 101; int arr[MAX_N]; int main() { int Jackson, JackScore, s…
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1718 Rank Description Jackson wants to know his rank in the class. The professor has posted a list of student numbers and marks. Compute Jackson’s rank in class; that is, if he has the top mark(or is tie…
Problem Description Jackson wants to know his rank in the class. The professor has posted a list of student numbers and marks. Compute Jackson's rank in class; that is, if he has the top mark(or is tied for the top mark) his rank is 1; if he has the…
题意:给你n个学号和成绩,并且给定一个学号,让找这个学号是多少名. 析:用个结构体,按成绩排序,然后找那个学号,这个题有一个小坑,那就是并列的情况, 可能并列多少名,这个要考虑一下,其他的easy! 代码如下: #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <cstring>…
解题报告:给一个班的学生的分数排序,然后判断Jack在他们班级的排名是多少,并且有如下规定,若多个人的分数相同,则他们的排名也 是相同的.说白了就是问这个班上分数比Jack高的人数有多少个,如果有n个,则输出n+1. 由于分数的范围只有0到100,我们可以定义一个数组Mark[105],然后Mark[i]存的是分数为i的人数,这样就可以了,输入结束之后,从100到0扫一遍,就是了. #include<cstdio> #include<cstring> ]; int main() {…
#include <stdio.h> #include <malloc.h> #define MAX_STACK 10 ; // define the node of stack typedef struct node { int data; node *next; }*Snode; // define the stack typedef struct Stack{ Snode top; Snode bottom; }*NewStack; void creatStack(NewSt…
hdu 1811 Rank of Tetris Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响.关于如何排名,这个不用说都知道是根据R…
//counting sort 计数排序 //参考算法导论8.2节 #include<cstdio> #include<cstring> #include<algorithm> #include<cassert> using namespace std; ; ; , , , , , , }; int b[n]; ]; int main() { ; memset(c, , sizeof c); ;i<n;i++) { c[a[i]]++; maxn=ma…
Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] return 3, and [3,4,-1,1] return 2. Your algorithm should run in \(O(n)\) time and uses constant space. 若数组为[10,20,30], 则返回0+1 = 1, 因为 A[0]!=( 0 + 1 )…
今天贴出的算法是计数排序Counting Sort.在经过一番挣扎之前,我很纠结,今天这个算法在一些scenarios,并不是最优的算法.最坏情况和最好情况下,时间复杂度差距很大. 代码CountingSort.h: #include <stdlib.h> namespace dksl { void Sort(int *numArray,int length) { ]; int *temp=new int[length]; ;i<length;i++) { temp[i]=; if(ma…