链接:点我

预处理:b[i][j]表示a[1] ... a[j]中比a[i]小的数的数量。

int get_lower_count(int b[], int l, int r)
{
return b[r] - b[l - 1];
}
枚举左端点i,右端点j,则 get_lower_count(b[j], i + 1, j) - get_lower_count(b[i], i,

j)为a[i]...a[j]的“顺序对的值”。因为a...a[j-1]中的值只有3种情况,要么比a[j]大,要么在a[i]与a[j]之间,要么比
a[i]小。比a[i]小的数,必然比a[j]小。所以用比a[j]小的数剪掉比a[i]小的数即可。

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
#define MOD 1000000007
const int INF=0x3f3f3f3f;
const double eps=1e-;
typedef long long ll;
#define cl(a) memset(a,0,sizeof(a))
#define ts printf("*****\n");
const int MAXN=;
int n,m,tt,a[MAXN],f[MAXN][MAXN]; //1到j中比a[i]小的数
int main()
{
int i,j,k;
/*#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif*/
scanf("%d",&n);
for(i=;i<=n;i++)
{
scanf("%d",a+i);
}
cl(f);
for(i=;i<=n;i++)
{
f[i][]=(a[i]>a[]);
for(j=;j<=n;j++)
{
f[i][j]=f[i][j-]+(a[j]<a[i]);
}
}
long long ans=,ans1,ans2;
for(i=;i<n;i++)
{
for(j=i+;j<=n;j++)
{
if(a[j]>a[i])
{
ans1=f[j][j]-f[j][i]; //i到j内比a[j]小的数(注意这里不包含i和j)
ans2=f[i][j]-f[i][i]; //i到j内比a[i]小的数
ans+=(ans1-ans2);
//printf("%d %d %d %d %d\n",i,j,ans1,ans2,ans);
}
}
}
printf("%I64d\n",ans);
}

最新文章

  1. Oracle的建立表格
  2. 深入理解php中的ini配置(1)
  3. Java性能调优笔记
  4. LinuxShell脚本攻略--第八章 当个好管家
  5. [课程相关]homework-06
  6. Build Settings
  7. 23讲 URL
  8. idHTTP最简洁的修改和取得Cookie例子
  9. linux自己主动重新启动tomcat脚本
  10. px,dp,dip,sp,in,mm,pt详细分析
  11. ios 调用webservice整理
  12. Coreseek:indexer crashed神秘
  13. 一个a::before的写法
  14. win10 uwp Window.Current.Dispatcher中Current为null
  15. C++基础知识2
  16. Docker深入浅出系列教程——Docker简介
  17. GetTypes Unable to load one or more of the requested types
  18. 人脸检测识别,人脸检测,人脸识别,离线检测,C#源码
  19. [Swift]LeetCode877. 石子游戏 | Stone Game
  20. metasploit framework(六):信息收集

热门文章

  1. ASP防XSS代码
  2. python网络编程-socket“粘包”(小数据发送问题)
  3. 简单计算器的C实现-函数指针,main函数传参
  4. MyBatis3.4.0以上的分页插件错误:Could not find method on interface org.apache.ibatis.executor.statement.StatementHandler named prepare. Cause: java.lang.NoSuchMethodException: org.apache.ibatis.executor.stateme
  5. java IO流知识点总结
  6. CF312B 【Archer】
  7. 【LOJ】#2574. 「TJOI2018」智力竞赛
  8. java内存溢出分析工具
  9. Tuning Optimization
  10. maven设计思想