zoukankan      html  css  js  c++  java
  • 洛谷——P1428 小鱼比可爱

    https://www.luogu.org/problem/show?pid=1428

    题目描述

    人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度[color=red]可能一样[/color]。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

    输入输出格式

    输入格式:

    第一行输入一个整数n,表示鱼的数目。

    第二行内输入n个整数,用空格间隔,依次表示从左到右每只小鱼的可爱程度。

    输出格式:

    行内输出n个整数,用空格间隔,依次表示每只小鱼眼中有多少只鱼不如自己可爱。

    输入输出样例

    输入样例#1:
    6
    4 3 0 5 1 2
    
    输出样例#1:
    0 0 0 3 1 2

    说明

    n<=100

    以可爱程度为数组下标,因为会有0的可爱度,所以整体向后移一位

    树状数组的up要到最大值~忘了会wa

     1 #include <cstdio>
     2 
     3 #define lowbit(x) (x&(-x))
     4 
     5 using namespace std;
     6 
     7 const int N(100+15);
     8 int n,x,tr[N];
     9 
    10 void up(int x)
    11 {
    12     for(;x<=N;x+=lowbit(x)) tr[x]++;
    13 }
    14 
    15 int query(int x)
    16 {
    17     int ret=0;
    18     for(;x;x-=lowbit(x)) ret+=tr[x];
    19     return ret;
    20 }
    21 
    22 int main()
    23 {
    24     scanf("%d",&n);
    25     for(int i=1;i<=n;i++)
    26     {
    27         scanf("%d",&x);
    28         printf("%d ",query(x));
    29         up(x+1);
    30     }
    31     return 0;
    32 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    怎么查看京东店铺的品牌ID
    PPT编辑的时候很卡,放映的时候不卡,咋回事?
    codevs 1702素数判定2
    codevs 2530大质数
    codevs 1488GangGang的烦恼
    codevs 2851 菜菜买气球
    hdu 5653 Bomber Man wants to bomb an Array
    poj 3661 Running
    poj 1651 Multiplication Puzzle
    hdu 2476 String Painter
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6914027.html
Copyright © 2011-2022 走看看