zoukankan      html  css  js  c++  java
  • 洛谷 P1908 逆序对 题解

    每日一题 day43 打卡

    Analysis

    因为数据规模,所以我们需要对其进行离散化,新创一个数组a里面来放在我们的初始序列中在这个位置上的数是第几大的这里还要用一个小技巧排序,关于离散化的技巧我们具体在代码里面看

    离散化之后我们只对a数组进行操作就好了,每次遇到一个数就把他插到树状数组里面去

    双倍经验 洛谷 P1774 最接近神的人_NOI导刊2010提高(02)

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #define int long long
     6 #define rep(i,s,e) for(register int i=s;i<=e;++i)
     7 #define dwn(i,s,e) for(fegister int i=s;i>+e;--i)
     8 #define maxn 5000000+10
     9 using namespace std;
    10 inline int read()
    11 {
    12     int x=0;
    13     bool f=1;
    14     char c=getchar();
    15     for(; !isdigit(c); c=getchar()) if(c=='-') f=0;
    16     for(; isdigit(c); c=getchar()) x=(x<<3)+(x<<1)+c-'0';
    17     if(f) return x;
    18     return 0-x;
    19 }
    20 inline void write(int x)
    21 {
    22     if(x<0){putchar('-');x=-x;}
    23     if(x>9)write(x/10);
    24     putchar(x%10+'0');
    25 }
    26 int n,ans;
    27 int a[maxn],re[maxn];
    28 int tree[maxn];
    29 inline int lowbit(int x)
    30 {
    31     return x&-x;
    32 } 
    33 inline void build(int x,int k)
    34 {
    35     for(int i=x;i<=n;i+=lowbit(i)) tree[i]+=k;
    36 }
    37 inline int ask(int x)
    38 {
    39     int res=0;
    40     for(int i=x;i>=1;i-=lowbit(i)) res+=tree[i];
    41     return res;
    42 }
    43 signed main()
    44 {
    45     n=read();
    46     rep(i,1,n) a[i]=read(),re[i]=a[i];
    47     sort(a+1,a+n+1);
    48     int m=unique(a+1,a+n+1)-a-1;
    49     rep(i,1,n)
    50     {
    51         int now=lower_bound(a+1,a+m+1,re[i])-a;
    52         ans+=ask(m)-ask(now);
    53         build(now,1);
    54     }
    55     write(ans);
    56     return 0;
    57 }

    请各位大佬斧正(反正我不认识斧正是什么意思)

  • 相关阅读:
    加了一句话
    由于数据库 'XXX' 离线,无法打开该数据库。
    Linux命令list
    js 数组去重
    JSON.parse(JSON.stringify()) 实现对对象的深度拷贝,从而互不影响
    docker
    Node child_process Study.2
    node assert模块 Study.1
    git 合并本地分支到远程分支
    Vue 项目搭建
  • 原文地址:https://www.cnblogs.com/handsome-zyc/p/11862765.html
Copyright © 2011-2022 走看看