zoukankan      html  css  js  c++  java
  • Stars URAL

    就是给你一些星星的坐标,然后求出每个星星的左下角有多少颗星星

    题目保证按照Y坐标的顺序给出每个星星的坐标,那么我们就可以说,当输入某个星星的坐标时,此时有多少个星星的横坐标小于它,它左下角就有多少星星。也就是转换成一个前缀和问题,算是树状数组的裸题。也是需要离散化一下。

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <iostream>
     5 
     6 using namespace std;
     7 const int maxn=32000+10;
     8 int n;
     9 int ans[maxn];
    10 int C[maxn];
    11 int name[maxn];
    12 int a[maxn];
    13 
    14 int lowbit(int x){
    15     return x&(-x);
    16 }
    17 void add(int v,int x){
    18     while(v<=n){
    19         C[v]+=x;
    20         v+=lowbit(v);
    21     }
    22 }
    23 int query(int v){
    24     int res=0;
    25     while(v>0){
    26         res+=C[v];
    27         v-=lowbit(v);
    28     }
    29     return res;
    30 }
    31 int x,y;
    32 int main(){
    33     scanf("%d",&n);
    34     for(int i=1;i<=n;i++){
    35         scanf("%d%d",&x,&y);
    36         a[i]=x;
    37         name[i]=x;
    38     }
    39     sort(name+1,name+1+n);
    40     for(int i=1;i<=n;i++){
    41         int d=lower_bound(name+1,name+1+n,a[i])-name;
    42         ans[query(d)]++;
    43         add(d,1);
    44     }
    45     for(int i=0;i<n;i++)
    46         cout<<ans[i]<<endl;
    47 
    48 return 0;
    49 }
    View Code
  • 相关阅读:
    XCode 7 运行 cocos2dx 2.2.6问题小节
    SerializeField和Serializable
    convert2utf8withbom
    NGUI制作字体的三种方法
    js json stringify
    nodejs npm 使用淘宝 NPM 镜像
    js url?callback=xxx xxx的介绍
    强引用 弱引用
    关于xml里的encoding
    js 历史
  • 原文地址:https://www.cnblogs.com/LQLlulu/p/8710002.html
Copyright © 2011-2022 走看看