ural 1028. Stars (线段树)
来源:互联网 发布:香蕉网络tv免费频道下 编辑:程序博客网 时间:2024/05/01 05:22
jasison君我来无耻地抄(xue)写(xi)代码了~
#include <cstdio>#include <cstring>struct Node{int a, b, cover;Node() {}Node(int _a, int _b): a(_a), b(_b), cover(0) {}int middle() { return (a+b)>>1; }} t[66000];void build(int a, int b, int d){t[d] = Node(a,b);if (a >= b) return ;int mid = (a+b) >> 1;build(a,mid,2*d+1);build(mid+1,b,2*d+2);}void add(int n, int d){t[d].cover ++;if (t[d].a == t[d].b) return ;int mid = t[d].middle();if (mid >= n) add(n, 2*d+1);else add(n,2*d+2);}int quary(int a, int b, int d){if (a==t[d].a && b==t[d].b) return t[d].cover;int mid = t[d].middle();if (mid >= b) return quary(a,b,2*d+1);else if (mid < a) return quary(a,b,2*d+2);else return quary(a,mid,2*d+1) + quary(mid+1,b,2*d+2);}int num, x, y;int level[15005];int main(){while (scanf("%d",&num) != EOF){memset(level,0,sizeof(level));build(0,32000,0);for (int i = 0; i < num; ++ i){scanf("%d%d",&x,&y);level[quary(0,x,0)] ++;add(x,0);}for (int i = 0; i < num; ++ i)printf("%d\n", level[i]);}}
- ural 1028. Stars (线段树)
- Ural 1028. Stars 线段树单点更新
- ural 1028 Stars [线段树]
- Ural 1028. Stars(树状数组)
- URAL 1028. Stars
- Ural 1028. Stars
- Ural 1028. Stars
- Ural 1028. Stars
- hdu_1541 Stars(线段树)
- ural 1028. Stars 树状数组
- pku 2352 Stars(线段树)
- POJ 2352 Stars (线段树)
- HDU 1541 Stars (线段树)
- POJ 2352 Stars(线段树)
- HDU 1541 Stars (线段树)
- POJ2352 Stars(线段树进阶)
- hdu 1541 Stars (线段树)
- poj 2352 Stars(线段树 )
- CentOS 6.2下搭建phpMyAdmin(mysql的php方式管理工具)
- Oracle中spool命令实现的两种方法比较
- 手Q真的输给微信了吗?
- 记录工作中遇到的一些问题(一)
- How to organize the Template Files in C++
- ural 1028. Stars (线段树)
- 解北大OJ1088滑雪问题的记录
- oracle常用函数
- 安装谷歌商店
- 杭电水题之2023
- 线程 临界区,互斥量,信号量,事件的区别(线程同步)
- 将包中的所有java源文件代码写入一个txt文件中
- 黑马程序员——.NET基础总结(一)
- 改编 秋瑾-满江红