rt,本题我一开始使用了
set内置的lowerbound
估计时间复杂度O(NlogN)
然后交上去直接T了
for (int i = 2; i <= n; i++) {
auto d = s.lower_bound(a[i]);
int dis;
if (d != s.end()) {
dis = distance(s.begin(), d);
} else dis = i - 1;
int qian, hou;
qian = dis;
hou = i-1-ma[a[i]]-dis;
if (qian > hou)num += hou;
else num += qian;
s.insert(a[i]);
ma[a[i]]++;
}
后面改用Orderset用查找才过
有没有大佬可以解释下吗 我只知道stl常数很大
但是我不知道时间复杂度对的情况下 还T这种情况下 在赛场上碰到要怎么办呢
我该怎么分析出这种做法会T呢