题解 1439: 蓝桥杯历届试题-小朋友排队

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

小朋友排队 (C++代码)

摘要:解题思路:    这道题最终要求解的其实就是给定整数串中的逆序对的个数,但此题直接暴力是会超时的,所以利用树状数组进行求解,思路如下:首先利用输入的整数串构建一个树状数组,然后树状数组的getSum(……
优质题解

小朋友排队 ---树状数组---O(nlogm)算法--AC耗时50ms

摘要:解题思路:    先熟悉树状数组原理及其应用。    1.这道题可以转换成求每个位置的左边比他小的个数和右边比他大的个数,这两个相加就是这个人要被交换的次数,然后根据等差数列前n项求和公式(a1+an……

蓝桥杯历届试题-小朋友排队-题解(C++代码)

```cpp/*标题:小朋友排队n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,

蓝桥杯历届试题-小朋友排队 树状数组AC代码(Java代码)

##思路小朋友从低到高排队两两交换则该小朋友需要交换的次数应该为:左边比该小朋友身高高的个数加上右边比该小朋友矮的个数对统计得到的数求累加和即为该小朋友的不高兴程度##代码```javaimportjava.util.Scanner;/***@authorJohnnyLin*@versionCreat

小朋友排队——树状数组

设第k个小朋友应该移动n次,则n=(1-k)个小朋友中身高大于k的人数+((k+1)-n)个小朋友中身高小于k的人数满足前大后小原则例如3321012(前大)210(后小)故总移动次数为222因此不搞笑值=3+3+3=9所以问题转化为求解每一位数的前k个身高大于k的人数+后(k+1-n)个身高小于k的