随笔分类 - 排序
摘要:算法分析:如果有两个会说话,那么就要在他们之间找一个不同的行或列的值较小的,因为数据较小用桶排,用贪心找出在尽可能覆盖多的情况,存入另一个数组,用比较排序按从小到大输出 注意:最后输出的是有顺序的,需要再次比较 #include<bits/stdc++.h>using namespace std;
阅读全文
摘要:算法分析:首先先用归并排序,求出当前的比分情况,再比较,根据实力放入胜者组和败者组,因为败者组都不变,胜者组都加1,所以各自都是有序的,不用继续之前的分离,直接继续归并排序,再比较 #include<bits/stdc++.h>using namespace std; int n,q,bsl[200
阅读全文
摘要:算法分析:因为要根据分数排名,所以先用快排排序,再根据m*1.5(因为会默认向下取整,不用管)的人,求出录取线,再找不低于录取线的人,求出总人数,for循环输出录取的人 #include<bits/stdc++.h>using namespace std;struct a{ int xh; int
阅读全文
摘要:试题分析:本题目有三个要求,1.总分高的在前面,2.总分相同,语文成绩高的在前面,3.总分,语文成绩相同,学号小的在前面,适合用结构体 算法分析:设置结构体,用快排排序,先比较总分,再试语文,最后按学号比较 #include<bits/stdc++.h>using namespace std;str
阅读全文
摘要:试题分析:本题目要求将n个数中每个数及出现的次数输出,所以可以用到排序,先进行归并排序,在计算每个数字出现的次数,用for循环遍历,一边遍历,一边输出。 #include<bits/stdc++.h>using namespace std;int aa[1000000],a[1000000],n,i
阅读全文
摘要:试题解析:本题要运用排序,题目要求去重+排序,而且每个数最大不超过1000,数据较小,所以我们就可以直接使用桶排。然后要先输出个数,再输出每个数 #include<bits/stdc++.h>using namespace std;int s;struct a { int sz;} b[2000];
阅读全文
浙公网安备 33010602011771号