poj2352
来源:互联网 发布:中序遍历递归算法 编辑:程序博客网 时间:2024/06/05 17:45
输入顺序是有规律的,只需要x的值就可以建树了,同时,边建树边查找
#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;const int maxn=32010;int tree[4*maxn];int x[maxn];int level[15010];void build(int p,int l,int r,int x){ if(l==r) {tree[p]++;return ;} int mid=(l+r)/2; if(x>mid) build(2*p+1,mid+1,r,x); else build(2*p,l,mid,x); tree[p]=tree[2*p+1]+tree[2*p];}int find_(int p,int l,int r,int x,int y){ if(l==x&&r==y) return tree[p]; int mid=(l+r)/2; if(mid>=y) return find_(2*p,l,mid,x,y); else if(mid<=x) return find_(2*p+1,mid,r,x,y); else return find_(2*p,l,mid,x,mid)+find_(2*p+1,mid+1,r,mid+1,y);}int main(){ int n;cin>>n; int max_x=-1; for(int i=0;i<n;i++) { int y; scanf("%d%d",&x[i],&y); if(max_x<x[i]) max_x=x[i]; } for(int i=0;i<n;i++) { build(1,0,max_x,x[i]); level[find_(1,0,max_x,0,x[i])-1]++; } for(int i=0;i<n;i++) printf("%d\n",level[i]); return 0;}
阅读全文
0 0
- POJ2352
- poj2352
- POJ2352
- POJ2352
- poj2352
- poj2352
- POJ2352
- poj2352
- poj2352
- poj2352
- POJ2352
- POJ2352
- poj2352
- Poj2352
- poj2352
- POJ2352
- poj2352
- poj2352 Stars
- 最新最全的Android版本更新,Tinker热修复
- interface
- Centos VM虚拟机挂载磁盘分区
- LINUX系统性学习
- 手动创建一个git
- poj2352
- 蓝桥杯练习 未名湖的烦恼
- 【Scikit-Learn 中文文档】高斯混合模型
- Latex 求和求乘积,积分微分等
- Oracle为什么delete删除语句删除不了表结构
- SpringMVC:用MultipartFile上传单个文件,多个文件
- FX3学习笔记5-gpio
- OC 宏和预编译
- php实现并归排序