
CF1462-F. The Treasure of The Segments
发布日期:2021-05-13 02:07:33
浏览次数:15
分类:博客文章
本文共 4540 字,大约阅读时间需要 15 分钟。
���������
������n������������������������������i������������ \(\{l_i, r_i\}\) ������������������������������\(l_i\)������������\(r_i\)������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� \(\{l_1, r_1\}\) \(\{l_2, r_2\}\) ��������������������� \(l_2 > r1\) ������ \(r_2 < l_1\) ������������������������������������������������������������������������������������������������\(l\) ���\(r\)���������������������������������������������������������������������������������������������������
���������
������������������������������������������������������������������������������������������������\(lower\_bound\)���\(upper\_bound\)���
AC���������
#include#include #define pii pair #define fr first#define sc secondconst int maxn = 2e5 + 5;const int inf = 0x3f3f3f3f;std::pii a[maxn];int l[maxn], r[maxn];int main () { int T, n; scanf ("%d", &T); while (T--) { scanf ("%d", &n); for (int i = 0; i < n; i++) { scanf ("%d %d", &a[i].fr, &a[i].sc); l[i] = a[i].fr; r[i] = a[i].sc; } std::sort (l, l + n); std::sort (r, r + n); int ans = inf; for (int i = 0; i < n; i++) { int tot = 0; tot = 0; tot += (int)(std::lower_bound(r, r + n, a[i].fr) - r); tot += n - (int)(std::upper_bound(l, l + n, a[i].sc) - l); ans = std::min (ans, tot); } printf ("%d\n", ans); } return 0;}
���������������������������������������������������������������������������������������������������������������������������������������T������
������������������������AC���������
#include#include #include #define pii pair #define mp(a, b) make_pair(a, b)#define fr first#define sc secondconst int maxn = 2e5 + 5;const int inf = 0x3f3f3f3f;std::pii in[maxn], num[maxn];int lisan[maxn << 1], tot_lisan = 1;class seg_tree {public: int tree[maxn << 2]; void init() { memset (tree, 0, sizeof tree); } void push_up (int p) { tree[p] = tree[p << 1] + tree[p << 1 | 1]; } void update (int p, int l, int r, int idx) { if (l == r) { tree[p]++; } else { int mid = (l + r) >> 1; if (idx <= mid) { update (p << 1, l, mid, idx); } else { update (p << 1 | 1, mid + 1, r, idx); } push_up(p); } } int query (int p, int l, int r, int ql, int qr) { if (r < ql || l > qr) { return 0; } else if (l >= ql && r <= qr) { return tree[p]; } else { int mid = (l + r) >> 1; int ans = 0; ans += query (p << 1, l, mid, ql, qr); ans += query (p << 1 | 1, mid + 1, r, ql, qr); return ans; } }}t1, t2;int main () { int T, n; scanf ("%d", &T); while (T--) { t1.init(); t2.init(); tot_lisan = 1; memset (num , 0, sizeof num); scanf ("%d", &n); for (int i = 0; i < n; i++) { int l, r; scanf ("%d %d", &l, &r); in[i] = std::mp(l, r); lisan[tot_lisan++] = l; lisan[tot_lisan++] = r; } std::sort (lisan, lisan + tot_lisan); std::sort (in, in + n); tot_lisan = (int)(std::unique(lisan, lisan + tot_lisan) - lisan); for (int i = 0; i < n; i++) { int pl = (int)(std::lower_bound(lisan, lisan + tot_lisan, in[i].fr) - lisan); int pr = (int)(std::lower_bound(lisan, lisan + tot_lisan, in[i].sc) - lisan); num[i].fr = pl; num[i].sc = pr; t1.update (1, 0, tot_lisan, pl); t2.update (1, 0, tot_lisan, pr); } int ans = inf; for (int i = 0; i < n; i++) { int pl = num[i].fr; int pr = num[i].sc; int tot = 0; tot += t1.query (1, 0, tot_lisan, pr + 1, tot_lisan); tot += t2.query (1, 0, tot_lisan, 0, pl - 1); ans = std::min (ans, tot); } printf ("%d\n", ans); } return 0;}
发表评论
最新留言
不错!
[***.144.177.141]2025年05月04日 05时19分31秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CentOS7利用Systemd添加用户自定义系统服务
2021-05-15
Mycat入门
2021-05-15
懒人HTML5笔记-1
2021-05-15
两台服务器http方式共享yum软件仓库
2021-05-15
进程间同步
2021-05-15
io多路复用___select
2021-05-15
模板--数组类
2021-05-15
go web服务get pos
2021-05-15
团队背包(team)
2021-05-15