关注
第4题 #include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i(a); i <= (b); ++i)
#define dec(i, a, b) for (int i(a); i >= (b); --i)
#define MP make_pair
#define fi first
#define se second
typedef long long LL;
const int N = 2e5 + 100;
int T;
int a[N], b[N], aa[N];
int c[N];
int cnt;
int n;
int mx, my;
LL ans = 0;
vector <int> v[N];
inline int query(int x){
if (x <= 0) return 0;
int ret = 0;
for (; x; x -= x & -x) ret += c[x];
return ret;
}
inline void update(int x){
for (; x <= 2e5; x += x & -x) ++c[x];
}
void ins(int x){
int tmp = query(x) - query(x - 1);
if (tmp) return;
update(x);
}
int main(){
scanf("%d", &T);
while (T--){
ans = 0;
cnt = 0;
scanf("%d", &n);
rep(i, 1, n){
scanf("%d%d", a + i, b + i);
aa[++cnt] = a[i];
aa[++cnt] = b[i];
}
memset(c, 0, sizeof c);
sort(aa + 1, aa + cnt + 1);
cnt = unique(aa + 1, aa + cnt + 1) - aa - 1;
rep(i, 1, n) a[i] = lower_bound(aa + 1, aa + cnt + 1, a[i]) - aa;
rep(i, 1, n) b[i] = lower_bound(aa + 1, aa + cnt + 1, b[i]) - aa;
mx = my = 0;
rep(i, 1, 2e5) v[i].clear();
rep(i, 1, n) v[a[i]].push_back(b[i]), mx = max(mx, a[i]), my = max(my, b[i]);
dec(i, mx, 1){
int mm = 0;
for (auto u : v[i]) ins(u), mm = max(mm, u);
ans += 1ll * query(mm);
}
printf("%lld\n", ans);
}
return 0;
}
查看原帖
点赞 1
相关推荐
11-15 15:00
湖南科技大学 系统策划 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
238464次浏览 1945人参与
# 学历or实习经历,哪个更重要 #
40248次浏览 293人参与
# 北方华创开奖 #
22193次浏览 253人参与
# 地方国企笔面经互助 #
2407次浏览 6人参与
# 你最想要的公司福利是? #
38599次浏览 95人参与
# 选完offer后,你后悔学本专业吗 #
8948次浏览 62人参与
# 应届生被毁约被毁意向了怎么办 #
26126次浏览 236人参与
# 机械应届生薪资要多少才合适? #
12229次浏览 59人参与
# 查收我的offer竞争力报告 #
15618次浏览 214人参与
# 一觉醒来,我觉醒了超级打工人系统 #
2657次浏览 32人参与
# 没有实习经历,还有机会进大厂吗 #
804246次浏览 13800人参与
# 你觉得第一学历对求职有影响吗? #
14762次浏览 121人参与
# 我的工作日记 #
20936次浏览 270人参与
# 不给转正的实习,你还去吗 #
1515372次浏览 16960人参与
# 寒假躺平还是提前实习 #
57825次浏览 424人参与
# 秋招OC许愿 #
225623次浏览 1862人参与
# 秋招被确诊为…… #
52888次浏览 295人参与
# 如何一边实习一边秋招 #
983753次浏览 12570人参与
# 总结:哪家公司面试体验感最差 #
25110次浏览 122人参与
# 公司情报交流地 #
31452次浏览 224人参与
# 面试题刺客退退退 #
136323次浏览 2083人参与