树状数组的应用
来源:互联网 发布:淘宝开黑车 编辑:程序博客网 时间:2024/05/16 14:23
SonochiSonochi,明年再一起看烟花。——WashioSumi WashioSumi
Input Output
为了实现和
怪物分布在二维平面上,
某个怪物的
输入第一行为一个正整数
接下来
保证输入的坐标两两不同。
包含
思路:以X为首要优先级,Y为次要优先级sort排序后,对于i的来说xj<=xi(j<=i)的,只需要知道小于等于yi的个数。
#include <iostream>#include <stdio.h>#include <map>#include <algorithm>#include <string.h>using namespace std;const int AX = 1e5+666;int rankkk[AX];const int n = AX;struct Node{int x;int y;}node[AX];bool cmp(const Node &a,const Node &b){if(a.x!=b.x){return a.x<b.x;}else{return a.y<b.y;}}int v[AX];int lowbit(int x){return x&(-x);}void update(int value,int site){while(site<AX){v[site] += value;site += lowbit(site);}}int getsum(int i){int sum = 0;while(i>=1){sum += v[i];i -= lowbit(i);}return sum;}int main(){memset(rankkk,0,sizeof(rankkk));int m;cin>>m;for(int i=0;i<m;i++){scanf("%d%d",&node[i].x,&node[i].y);}sort(node,node+m,cmp);for(int i=0;i<m;i++){rankkk[getsum(node[i].y)]++;update(1,node[i].y);}for(int i=0;i<m;i++){printf("%d\n",rankkk[i]);}return 0;}
阅读全文
0 0
- 树状数组的应用
- 树状数组的应用
- poj2481-树状数组的应用
- HDU3874树状数组的应用
- 树状数组的应用系列
- 树状数组的简单应用(夏夜砍树)
- HDU3874 树状数组的灵活应用
- POJ2352——树状数组的应用
- HDU 3874 Necklace 树状数组的应用
- hdu 3564 树状数组的灵活应用
- 树状数组的应用(SOJ2497)
- 树状数组的应用(SOJ2559)
- 树状数组的应用(SOJ2728)
- POJ2481 Cows 树状数组的简单应用
- POJ3067 Japan 树状数组的应用
- POJ2155 Matrix 二维树状数组的应用
- poj 2155 Matrix(树状数组的应用)
- hdu 5147 (树状数组的应用)
- bzoj 1593: [Usaco2008 Feb]Hotel 旅馆 线段树
- Android Activity生命周期和启动模式
- 练习
- C++ 底层const&顶层const与引用
- html5的geolocation 定位误差大的解决办法
- 树状数组的应用
- 一、Linux——linux基本命令
- bzoj 3629 聪明的燕姿 约数和+dfs
- poj 3281 Dining (网络流)
- yii2简单使用mongodb(创建索引,简单查询,聚合查询)
- opencv使用入门——配置
- 使用Mysql前的基本操作
- -bash: nginx: command not found 解决方案
- 排序