Codeforces 652D(一维树状数组)
来源:互联网 发布:网络征婚投资 编辑:程序博客网 时间:2024/05/04 23:40
题目链接
有n根木棍,每根的范围是
[li,ri] ,没有两个的ri 是想通的,问每根棍子完全覆盖多少根棍子。
第i根棍子覆盖第j根棍子,必要条件就是li≤lj &&rj≤ri 。
那么按照l进行排序,l相同的r大的排在前面,然后从后往前扫。
const int maxn = 2e5 + 10;struct seg{ int l, r, id; seg() {} void read() { scanf("%d%d", &l, &r); }}s[maxn];int h[maxn*2];int n, m;bool cmp(const seg& LEFT, const seg& RIGHT) { return LEFT.l < RIGHT.l || (LEFT.l == RIGHT.l && LEFT.r > RIGHT.r);}inline int Hash(int x) { return lower_bound(h + 1, h + 1 + m, x) - h;}struct BIT { int a[maxn*2]; void add(int x, int v) { while(x < maxn*2) { a[x] += v; x += lowbit(x); } } int sum(int x) { int res = 0; while(x > 0) { res += a[x]; x -= lowbit(x); } return res; }}BIT;int ans[maxn];int main(int argc, const char * argv[]){ // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); // ios::sync_with_stdio(false); // cout.sync_with_stdio(false); // cin.sync_with_stdio(false); cin >> n; m = 0; Rep(i, 1, n) s[i].read(), s[i].id = i, h[++m] = s[i].l, h[++m] = s[i].r; sort(h + 1, h + 1 + m); m = unique(h + 1, h + 1 + m) - h - 1; sort(s + 1, s + 1 + n, cmp); for (int i = n;i >= 1;--i) { // cout << Hash(s[i].r) << endl; int o = BIT.sum(Hash(s[i].r)); ans[s[i].id] = BIT.sum(Hash(s[i].r)); BIT.add(Hash(s[i].r), 1); } Rep(i, 1, n) printf("%d\n", ans[i]); // showtime; return 0;}
0 0
- Codeforces 652D(一维树状数组)
- CodeForces 652D Nested Segments 树状数组
- Codeforces 703D 树状数组
- codeforces 650D (树状数组)
- Codeforces 652D Nested Segments 【树状数组 + 离散化】
- CodeForces 652D Nested Segments (树状数组)
- CodeForces 652D Nested Segments(树状数组+离散化)
- CodeForces 652D Nested Segments(离散化,树状数组)
- 【Codeforces 652 D Nested Segments】+ 树状数组 + 离散化
- Codeforces 652D Nested Segments【离散化+思维+树状数组】
- Nested Segments codeforces 652D 树状数组 +离散化
- CodeForces 652D Nested Segments(树状数组 离散化)
- Nested Segments CodeForces 652D 树状数组+离散化
- Codeforces 652D Nested Segments 树状数组离线处理
- Codeforces 12D Ball (树状数组)
- Codeforces 12D (线段树 树状数组
- Codeforces 19D Points(树状数组)
- CodeForces 301D(树状数组)
- PHP Excel导入和导出
- C#线程
- 3DES算法原理写成Android/java形式
- 浅谈UML中类之间的五种关系及其在代码中的表现形式
- mysql doc 网址
- Codeforces 652D(一维树状数组)
- unity 彩虹灯效果
- 操作系统--内存学习笔记(2)进程内存管理--虚拟内存
- BZOJ3675 Apio2014 序列分割
- UICollectionView 高级进阶篇
- Xcode8更新后的一些问题解决
- 仿知乎日报第九篇:为首页以及其他12个页面从网上加载数据分析
- 在webstorm11中使用nodejs库的智能提示功能
- 也谈谈机器学习中的Evaluation Metrics