固定模式
要排序的量一般放在一个或多个向量的结构体、unordered_map或者set中,然后定义一个或多个cmp函数。(具体是几个就看题目将排序对象分成几种、有几个判断依据)。
坑点
1.最好直接用unordered_map代替map,就不会有查询超时
2.题目的要求都会有测试点,所以要好好读题,归纳出每种情况,想好再写,代码的复杂度其实不高的
普通题库(1001-1136)
- 1012 The Best Rank (25)
因为科目是固定的,而且要经过多次排序,就直接定义好数组方便访问:struct node { int id, best; int score[4], rank[4]; }stu[2005];
- 1025 PAT Ranking (25)
//10位数以内可以用int,长了就用long long //搞排名的时候,可以先写定第一项,后面的靠判断: v[0].locarank = 1; fin.push_back(v[0]); for(int j = 1; j < m; j++) { v[j].locarank = (v[j].score == v[j - 1].score) ? (v[j - 1].locarank) : (j + 1); fin.push_back(v[j]); } //考生编号可能前头有0,0也要要输出: %013lld //输出long long格式的数"