poj 2353——Stars
来源:互联网 发布:虚拟仿真软件哪种好 编辑:程序博客网 时间:2024/06/06 06:56
题意:找出坐标系中一个点的左下方有多少点
思路:题目输入是按照从下向上,从左向右输入,所以,按照横坐标的值建立树状数组。每次查询只要是横坐标小于当前坐标的,就一定是在左下方
代码如下:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=32005;int C[maxn];int ans[15005];int x[15005];int y[15005];int maxc=-1;int lowbit(int x){ return x&-x;}void update(int x){ while(x<=maxc){ C[x]++; x+=lowbit(x); }}int query(int x){ int ret=0; while(x>0){ ret+=C[x]; x-=lowbit(x); } return ret;}int main(){// freopen("data.txt","r",stdin); int n; scanf("%d",&n); for(int i=0;i<n+1;++i){ ans[i]=0; } for(int i=0;i<n;++i){ scanf("%d%d",&x[i],&y[i]); x[i]++; y[i]++; maxc=max(maxc,x[i]); } for(int i=0;i<maxc;++i){ C[i]=0; } for(int i=0;i<n;++i){ int a=query(x[i]); ans[a]+=1; update(x[i]); } for(int i=0;i<n;++i){ printf("%d\n",ans[i]); } return 0;}
0 0
- poj 2353——Stars
- 【树状数组第一弹】poj 2352——Stars
- POJ 2352——Stars(树状数组)
- Poj(2352)——Stars(树状数组)
- poj Stars
- POJ Stars
- Stars POJ
- poj2352——Stars
- poj2352——Stars
- POJ 2352 STARS
- POJ 2352 Stars
- Poj 2352 Stars
- poj 2352 Stars
- poj 2352 Stars
- poj 2352 Stars
- POJ 2352 Stars
- POJ 2352 Stars
- POJ-2352-Stars
- 事件
- socket案例
- 移动硬盘属性0字节RAW,双击提示磁盘未格式化怎么恢复?
- Java之美[从菜鸟到高手演练]之深入了解Struts2返回JSON数据的原理及具体应用范例
- JS学习笔记下
- poj 2353——Stars
- 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合
- iOS Programming – 触摸事件处理(2)
- Shiro 自己实现登录后重新生成sessionid
- EasyUI中,datagrid加载数据后只显示行号,不显示列标题的问题解决方法
- 创建oracle表空间与用户
- JAVA开源报表技术:JasperReports和iReport 入门
- java进制之间的转换
- C中值传递与地址传递