zoukankan      html  css  js  c++  java
  • FZU-2134 上车(树状数组)

    Problem 2134 上车

    Accept: 218    Submit: 280
    Time Limit: 1000 mSec    Memory Limit : 32768 KB

    Problem Description

    有N个人排成一队按顺序上车,座位在前排并且排在队伍前面的人上车后会对座位在后面并且排他在后面的人造成阻碍。现给出每个人坐在第几排,假设这辆车有100排,每一排有100个座位。定义每个人的上车困难度为比这个人先上车并且座位在其前排的人数。问N个人的上车困难度之和。

    Input

    第一行一个整数T(T<=100),表示有T组数据。

    每组数据先输入一行一个整数N(1<=N<=100),表示人数,接下来一行输入N个不超过100的正整数,输入的第i个数Ai表示第i个上车的人的座位是第Ai排。

    Output

    每组数据对应一行输出,即N个人上车的困难度之和。

    Sample Input

    3 3 1 2 3 3 3 2 1 3 1 2 2

    Sample Output

    3 0 2 
    并不知道刷水题有什么用ovo
     1 #include "bits/stdc++.h"
     2 using namespace std;
     3 typedef long long LL;
     4 const int MAX=105;
     5 int cas;
     6 int n;
     7 int c[MAX];
     8 void add(int x,int y){for (;x<=MAX;c[x]+=y,x+=(x&-x));}
     9 int search(int x){int an(0);for (;x>0;an+=c[x],x-=(x&-x));return an;}
    10 int main(){
    11     freopen ("bus.in","r",stdin);
    12     freopen ("bus.out","w",stdout);
    13     int i,j,k;
    14     scanf("%d",&cas);
    15     while (cas--){
    16         int ans(0);
    17         scanf("%d",&n);
    18         memset(c,0,sizeof(c));
    19         for (i=1;i<=n;i++){
    20             scanf("%d",&k);
    21             ans+=search(k-1);
    22             add(k,1);
    23         }
    24         printf("%d
    ",ans);
    25     }
    26     return 0;
    27 }
    看吧看吧,反正是水题
    未来是什么样,未来会发生什么,谁也不知道。 但是我知道, 起码从今天开始努力, 肯定比从明天开始努力, 要快一天实现梦想。 千里之行,始于足下! ——《那年那兔那些事儿》
  • 相关阅读:
    安卓 出现Cannot launch AVD in emulator 错误
    服务器架构中,集群,负载均衡,分布式有什么区别吗
    JavaScript事件
    替换节点内文本的万用函数
    DOM(Document Object Module,文档对象模型)为JavaScript提供完整,全面控制网页结构与内容的对象
    c++和java的区别
    解决Spark集群无法停止
    spark 作业调度
    hadoop,hbase,hive,zookeeper整合可行性分析及版本确定
    hadoop+spark+kudu
  • 原文地址:https://www.cnblogs.com/keximeiruguo/p/6057226.html
Copyright © 2011-2022 走看看