把堆顶和堆顶接起来,然后用树状数组模拟即可
不得不说一开始我竟然把100000*100000当成不超出longint 而忘开int64,无药可救……

 var a,b,c:array[..] of longint;
now,n1,n2,n,mid,i:longint;
ans:int64; procedure swap(var a,b:longint);
var c:longint;
begin
c:=a;
a:=b;
b:=c;
end; function lowbit(x:longint):longint;
begin
exit(x and (-x));
end; procedure add(x:longint);
begin
while x<=n do
begin
dec(c[x]);
x:=x+lowbit(x);
end;
end; function ask(x:longint):longint;
begin
ask:=;
while x> do
begin
ask:=ask+c[x];
x:=x-lowbit(x);
end;
end; procedure sort(l,r: longint);
var i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div ];
repeat
while a[i]<x do inc(i);
while x<a[j] do dec(j);
if not(i>j) then
begin
swap(a[i],a[j]);
swap(b[i],b[j]);
inc(i);
j:=j-;
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end; begin
readln(n1,n2);
n:=n1+n2;
for i:=n1 downto do
readln(a[i]);
for i:= to n2 do
readln(a[i+n1]);
now:=n1;
for i:= to n do
begin
b[i]:=i;
c[i]:=lowbit(i);
end;
sort(,n);
for i:=n downto do
begin
add(b[i]);
if b[i]>now then
ans:=ans+ask(b[i]-)-ask(now)
else
ans:=ans+ask(now)-ask(b[i]);
now:=b[i]-;
end;
writeln(ans);
end.

最新文章

  1. 【十大经典数据挖掘算法】Na&#239;ve Bayes
  2. 转载:JavaSE之反射
  3. asp.net 与数据库操作
  4. 用PHP获取系统时间时,时间比当前时间少8个小时
  5. css中的列表属性
  6. 查找指定表的字段not null约束,并生成删除Sql
  7. Linux学习笔记(7)-系统资源查看
  8. dtp--eclipse的安装数据源管理的一个插件的安装方法
  9. 使用httpModule做权限系统
  10. CentOS上编译安装Git
  11. jquery数字验证大小比较
  12. Redis进阶实践之十一 Redis的Cluster集群搭建
  13. 10 python 初学(Python 的编码解码)
  14. Ps去除背景
  15. ejs-模板
  16. HDU 3691 Nubulsa Expo(全局最小割)
  17. vcenter server appliance(vcsa) 配置IP的方法
  18. poj2828 Buy Tickets (线段树 插队问题)
  19. yum命令简介
  20. Laravel 根据任务的性质和要求决定处理的方式(Cron or Job)

热门文章

  1. Execution Contexts (执行上下文)
  2. Java设计模式03:常用设计模式之单例模式(创建型模式)
  3. python s12 day3
  4. maven 依赖冲突的问题
  5. 学习java随笔第一篇:搭建java平台(java se)
  6. SGU 117.Counting
  7. 第四篇、Tomcat 集群
  8. WARN [main] conf.HiveConf (HiveConf.java:initialize(1488)) - DEPRECATED
  9. 关于使用iframe标签自适应高度的使用
  10. 浏览器中的WebSocket(&quot;ws://127.0.0.1:9988&quot;);