试题二:最接近神的人(sophist/pas/c/cpp) (逆序对)
试题二:最接近神的人(sophist/pas/c/cpp)
【题目描述】
破解了符文之语,小FF开启了通往地下的道路。当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂”。小FF猜想里面应该就有王室的遗产了。但现在的问题是如何打开这扇门……
仔细研究后,他发现门上的图案大概是说:古代人认为只有智者才是最容易接近神明的。而最聪明的人往往通过一种仪式选拔出来。仪式大概是指,即将隐退的智者为他的候选人写下一串无序的数字,并让他们进行一种操作,即交换序列中相邻的两个元素。而用最少的交换次数使原序列变成不下降序列的人即是下一任智者。
小FF发现门上同样有着n个数字。于是他认为打开这扇门的秘诀就是找到让这个序列变成不下降序列所需要的最小次数。但小FF不会……只好又找到了你,并答应事成之后与你三七分……
【输入格式】
第一行为一个整数n,表示序列长度
第二行为n个整数,表示序列中每个元素。
【输出格式】
一个整数ans,即最少操作次数。
【输入样例】
4
2 8 0 3
【输出样例】
3
样例说明:开始序列为2 8 0 3,目标序列为0 2 3 8,可进行三次操作的目标序列:
1.Swap (8,0):2 0 8 3
2.Swap (2,0):0 2 8 3
3.Swap (8,3):0 2 3 8
【数据范围】
对于30%的数据1≤n≤104。
对于100%的数据1≤n≤5*105;
-maxlongint≤A[i]≤maxlongint。
var a,b,c,d:array[0..500000] of longint;
n,m,i,j,k:longint;
sum:int64;
procedure sort(l,r:longint);
var i,j,k,mid,l1,l2,n1,n2:longint;
begin
if l>=r then exit;
mid:=(l+r) div 2;
sort(l,mid); sort(mid+1,r);
n1:=mid-l+1; n2:=r-mid;
for i:=1 to n1 do a[i]:=c[l+i-1];
for i:=1 to n2 do b[i]:=c[mid+i];
l1:=1; l2:=1;
a[n1+1]:=maxlongint; b[n2+1]:=maxlongint;
for i:=l to r do
if a[l1]<=b[l2] then
begin
c[i]:=a[l1]; inc(l1);
end
else
begin
c[i]:=b[l2]; inc(l2); inc(sum,n1-l1+1);
end;
end;
begin
assign(input,'sophist.in'); assign(output,'sophist.out');
reset(input); rewrite(output);
readln(n);
for i:=1 to n do
read(c[i]);
sum:=0;
sort(1,n);
writeln(sum);
{for i:=1 to n do
writeln(c[i]);}
close(input); close(output);
end.
试题二:最接近神的人(sophist/pas/c/cpp) (逆序对)相关推荐
- 最接近神的人(sophist/pas/c/cpp)
最接近神的人(sophist/pas/c/cpp) [题目描述] 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上 ...
- 【洛谷P1774】最接近神的人
最接近神的人_NOI导刊2010提高(02) 用类似于桶的方法,树状数组记录原序列的某位置之前已经插入了多少个数, 插入时树状数组单点加1即可 先排一遍序,从大到小插入所有数在原序列的位置, 统计每次 ...
- 最接近神的人 reverse
最接近神的人 reverse [题目描述]: 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着&qu ...
- luogu P1774 最接近神的人_NOI导刊2010提高(02)
题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...
- 最接近神的人_NOI导刊2010提高(02)【洛谷P1774】
题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...
- 洛谷 P1774 最接近神的人_NOI导刊2010提高(02)
题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...
- 洛古 P1774 最接近神的人
置顶题解 P1908 [逆序对] - zhylj 的博客 - 洛谷博客 链接里有过程图,但题解里的题大小顺序和本题是相反的,但问题不大 题目描述 破解了符文之语,小FF开启了通往地下的道路 ...
- 【UOJ 51】最接近神的人
[题目描述]: 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小 ...
- 【NOI导刊】【归并排序求逆序对】最接近神的人
题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着"神的殿堂".小FF猜 ...
最新文章
- python pip 安装错误 EnvironmentError: mysql_config not found
- oc runtime
- [Story]狗尾草花园
- Intel Realsense D435 开始运行启动时报错:RuntimeError: Couldn't resolve requests 原因及解决办法
- ip地址的分类:A、B、C、D、E五类是如何划分的?
- iOS 将16进制字符串转换成UIColor
- onvif学习笔记7:一个C++封装的onvif代码的阅读笔记
- 解决树莓派 no wireless interfaces found问题
- 小米网页连接调用服务器,小米6浏览器远程代码执行(CVE-2019-13322)
- 齿轮转速比和啮合频率
- 力扣刷题-动态规划算法3:完全背包问题
- 基于Android的太阳方位角计算工具
- 运算放大器节点电压方程_区分运算放大器和电压比较器
- photo cs6 2018破解教程
- layer 弹出层传递参数
- week1:History: Dawn of Electronic Computing
- 计算机比赛证书p图,雅礼中学计算机协会第二届“P图”大赛报名正式启动
- 点心、MIUI、乐众OS架构师讲Android底层故事
- Jenkins+Fastlane+蒲公英+钉钉
- 利用电影贴吧引流轻松变现,超适合新手
热门文章
- 前端跳槽面试必备技巧(完整版)
- 预测性维护:工业 4.0下人工智能如何改变机器设备维护方式
- python中sum()的用法
- 致MonoCats社群的一封信:邀请您与我们在以太坊开启新篇章
- 【游戏开发实战】手把手教你从零跑一个Skynet,详细教程,含案例讲解(服务端 | Skynet | Ubuntu)
- 支付宝 激活开发者模式
- ig夺冠后服务器不稳定,LOL官方为iG夺冠庆典活动道歉:服务器不稳致奖励延迟...
- cocos2d-x自制工具01:AnimatePacker
- 基于Simulink的汽车自动转向系统的分析设计
- AMBA协议——APB协议