树状数组判断三元逆序对~

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+;
int a[maxn];
int c[maxn*];
long long l[maxn],r[maxn];
int lowbit (int n) {
return n&-n;
}
int main () {
int N;
scanf ("%d",&N);
for (int i=;i<N;i++) {
scanf ("%d",&a[i]);
a[i]+=;
}
for (int i=;i<N;i++) {
for (int j=a[i]+;j<maxn;j+=lowbit(j))
l[i]+=c[j];
for (int j=a[i];j>;j-=lowbit(j))
c[j]++;
}
memset (c,,sizeof(c));
for (int i=N-;i>;i--) {
for (int j=a[i]-;j>;j-=lowbit(j))
r[i]+=c[j];
for (int j=a[i];j<maxn;j+=lowbit(j))
c[j]++;
}
long long ans=;
for (int i=;i<N;i++)
ans+=(long long)l[i]*r[i];
printf ("%lld",ans);
return ;
}

最新文章

  1. 定位以及z-index
  2. [读书笔记]Java之静态分派
  3. java.lang.IllegalArgumentException 不合法的参数异常
  4. 移植samba到ios平台,最新支持ios8.3
  5. URAL-1987 Nested Segments 线段树简单区间覆盖
  6. C++_关键字
  7. Qt遍历图片文件
  8. 【SICP读书笔记(二)】使用过程来黏合数据 —— 酷炫吊的消息传递机制
  9. 学习js的点点滴滴记录
  10. javascript操作select元素一例
  11. jspdf生成pdf并在页面展示
  12. yml配置文件读取出错 Exception in thread &quot;main&quot; while scanning for the next token found character &#39;\t(TAB)&#39;
  13. python day18 作业 Django 开发主机管理系统
  14. 神经网络架构PYTORCH-初相识(3W)
  15. jenkins(2): jenkins定时构建项目
  16. 如何在一个电脑上使用两个github账号
  17. git add 文件夹
  18. 为何gpio_to_irq不能静态使用?【转】
  19. C# Linq to Entity Lamda方式分组并求和求平均值
  20. 敏捷:什么是用户故事(User Story)

热门文章

  1. js中map和filter方法,以及search方法
  2. 吴裕雄 python 机器学习——数据预处理二元化Binarizer模型
  3. [lua]紫猫lua教程-命令宝典-L1-01-02. 变量
  4. Eclipse代码规范
  5. [已解决]Mac 升级至10.15 VM 出现黑屏等
  6. 1 dev repo organize
  7. pwnable.kr-flag-Writeup
  8. bootstrap创建带遮罩层的进度条
  9. ClickOnce部署,修改deploymentProvider
  10. iOS 开发之使用链式编程思想实现简单的计算器