刚开始想用sort一遍一遍的排,最后发现超时只能过70%
看了大佬们的题解才知道要用归并排序,sort适合随机的数列。
sort时间复杂度不稳定:O(nlogn)(可能还会更高) 归并排序时间复杂度稳定:O(n)
详细看代码
#include <iostream>
#include <algorithm>
using namespace std;
struct node{
int num;//编号
int c;//得分
int pow;//实力值
}a[201020],b[101010],c[101010];
//a合并的数值,b胜利的一方,c失败的一方
int n,r,q;
bool cmp(node x,node y)//结构体排序
{
if(x.c==y.c)
return x.num<y.num;