#include

#define maxn 100010

struct data

{

int num,cnt;

}A[maxn],temp[maxn];

int n;

//long long ans;

long long ANS[100];

void merge(int L1,int R1,int L2,int R2)

{

int k=0,i=L1,j=L2;

while(i<=R1 && j<=R2)

{

if(A[i].num<=A[j].num)//如果A[i].num

{

A[i].cnt+=j-L2;

temp[k++]=A[i++];

}

else if(A[i].num>A[j].num)//A[i,R1]都大于A[j]

{

A[j].cnt+=R1-i+1;

temp[k++]=A[j++];

}

}

//剩下上数组,那么剩下的元素都要移动下数组的元素个数

while(i<=R1)

{

A[i].cnt+=R2-L2+1;

temp[k++]=A[i++];

}

while(j<=R2) temp[k++]=A[j++]; //剩下下数组,就不需要移动

for(i=0;i

}

void mergeSort(int L,int R)

{

if(L

{

int mid = (L+R)/2;

mergeSort(L,mid);

mergeSort(mid+1,R);

merge(L,mid,mid+1,R);

}

}

int main(void)

{

//FILE *in = fopen("input10.txt","r");

//fscanf(in,"%d",&n);

//for(int i=0;i

scanf("%d",&n);

for(int i=0;i

mergeSort(0,n-1);

for(int i=0;i

{

long long s = A[i].cnt;

//ans+=s*(s+1)/2;

ANS[1]+=s*(s+1)/2;

int length=1;

while(ANS[length]/10!=0)

{

ANS[length+1]+=ANS[length]/10;

ANS[length]%=10;

length++;

}

if(ANS[0]

}

//printf("%lld",ans);

for(int i=ANS[0];i>=1;i--) printf("%d",ANS[i]);

//printf("\n");

return 0;

}

蓝桥杯小朋友排队java_[蓝桥杯][历届试题]小朋友排队 (C++代码)相关推荐

  1. 蓝桥杯 - 历届试题 小朋友排队 C语言实现

     历届试题 小朋友排队 时间限制:1.0s   内存限制:256.0MB 问题描述 n 个小朋友站成一排.现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友. 每个小朋友都有一 ...

  2. 蓝桥杯 地宫寻宝 java_蓝桥杯 地宫寻宝 带缓存的DFS

    历届试题 地宫取宝 时间限制:1.0s   内存限制:256.0MB 问题描写叙述 X 国王有一个地宫宝库. 是 n x m 个格子的矩阵. 每一个格子放一件宝贝. 每一个宝贝贴着价值标签. 地宫的入 ...

  3. [蓝桥杯][历届试题]小朋友排队(树状数组)

    题目描述 n 个小朋友站成一排.现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友. 每个小朋友都有一个不高兴的程度.开始的时候,所有小朋友的不高兴程度都是0. 如果某个小朋友 ...

  4. 蓝桥杯 历届试题 小朋友排队 C++

    题目阅览 n 个小朋友站成一排.现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友. 每个小朋友都有一个不高兴的程度.开始的时候,所有小朋友的不高兴程度都是0. 如果某个小朋友 ...

  5. 蓝桥杯切面条java_[蓝桥杯][历届试题]切面条-题解(C++代码)

    题目: 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次,中间切一刀,会得到多少面条 ...

  6. 蓝桥杯四平方和Java_蓝桥杯 四平方和

    题目:四平方和 看到这个题目,第一个思路就是: 枚举abcd的值,然后判断它们的平方和是不是等于N. 我们可以分析一下abcd的枚举范围: a : 0 ~ sqrt( 5000000 / 4 ) b  ...

  7. 2018蓝桥杯省赛java_蓝桥杯2018年A组省赛

    1.分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前2项而已.分 ...

  8. 华为OD机试 - 按身高和体重排队(Java) | 机试题+算法思路+考点+代码解析 【2023】

    按身高和体重排队 题目 某学校举行运动会,学生们按编号(1.2.3-n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列:对于身高体重都相同的人,维持原有的编号顺序关系.请输出 ...

  9. 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...

    Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...

最新文章

  1. C语言单链表实现19个功能完全详解
  2. [html] 对于rtl网站的适配有哪些方案?
  3. python 在线预览文件_用Python PyQt写一个在线预览图片的GUI
  4. 《xUnit Test Patterns》学习笔记2 - Goal Of Test Automation
  5. 案例学习BlazeDS+Spring之一(
  6. android root点击事件,在Android中使用InputManagerService进行事件传递
  7. linux显示3个字符,Linux驱动学习笔记(3)字符设备驱动
  8. Django访问量和页面点击数统计
  9. 物联网应用中的数字孪生——一种实现物联网数字孪生的全面的解决方案
  10. dede后台文章无法编辑(出现空白)的解决办法
  11. Java面试知识点概览(持续更新)
  12. Lenovo Quick Fix:关闭或开启Win10系统的自动更新
  13. java开发学生管理系统
  14. 皮江法 - 中国迷你直发 - 头发卷发器制造商
  15. 静态网页,动态网页,伪静态网页区别以及优缺点
  16. 输入圆的的半径r 和一个整型数k,当k=1 时,计算圆的面积;当k=2 时,计算圆的周长;当k = 3 时,既要求求圆的周长也要求出圆的面积
  17. C++程序设计课程设计报告——自助点餐系统
  18. 二十三、python中操作MySQL步骤
  19. Python中汉字繁简体互转
  20. c语言无符号整型越界,整型输出越界问题

热门文章

  1. Crawler - 如何爬取列表后进行文章的爬取
  2. 測试新浪微博@小冰 为代码机器人的一些方法
  3. Linux服务之httpd基本配置详解
  4. c语言设计一个按时间片轮转法实现处理器调度的程序,设计一个按时间片轮转法实现处理器调度的程序...
  5. 如何用法向量求点到平面距离_支持向量机(SVM)
  6. c语言中数组名可以与其他变量名相同,C语言初学者入门讲座 第九讲 数组(1)...
  7. 开源软件和自由软件_自由和开源软件的经济学
  8. phpmyadmin管理mysql_用phpMyAdmin管理MySQL数据库_MySQL
  9. python数码时钟代码_python时钟的实现
  10. Java IdentityHashMap values()方法与示例