题意:满足题目中的式子,a < b && c < d && Va < Vb && Vc > Vd

  思路:先求不讨论位置重合的情况,把对应的2种关系相乘,然后得到的答案减去重合的地方。不想解释,我特么改着改着就对了。都不知道哪里错了,叫对了数据还是找不到。因为只有一组数据出错。

#include<bits/stdc++.h>
using namespace std; const int maxn = 5e4 + ;
int tr[maxn], in[maxn], sar[maxn], ls[maxn], lb[maxn], rs[maxn], rb[maxn];
int n, m; int lowbit(int x){
return x & -x;
} void add(int x, int d){
while(x <= n){
tr[x] += d;
x += lowbit(x);
}
} int query(int x){
int ret = ;
while(x){
ret += tr[x];
x -= lowbit(x);
}
return ret;
} int main(){
while(~scanf("%d", &n)){
long long ans = , sum1 = , sum2 = ;
for(int i = ; i <= n; i ++) scanf("%d", &in[i]), sar[i] = in[i];
sort(sar + , sar + n + );
m = unique(sar + , sar + n + ) - sar;
for(int i = ; i <= n; i ++)
in[i] = lower_bound(sar + , sar + n + , in[i]) - sar;
memset(tr, , sizeof(tr)); for(int i = ; i <= n; i ++){
ls[i] = query(in[i] - );
lb[i] = query(n) - query(in[i]);
sum1 += ls[i];
sum2 += lb[i];
add(in[i], );
}
for(int i = ; i <= n; i ++){
rs[i] = query(in[i] - );
rb[i] = query(n) - query(in[i]);
add(in[i], -);
}
ans = sum1 * sum2;
for(int i = ; i <= n; i ++){
ans -= 1LL * ls[i] * lb[i];
ans -= 1LL * ls[i] * rs[i];
ans -= 1LL * rb[i] * lb[i];
ans -= 1LL * rs[i] * rb[i];
}
printf("%lld\n",ans); }
return ;
}

World is Exploding (容斥 + 统计)的更多相关文章

  1. hdu-5792 World is Exploding(容斥+树状数组)

    题目链接: World is Exploding Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Jav ...

  2. bzoj4665 小w的喜糖(dp+容斥)

    4665: 小w的喜糖 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 222  Solved: 130[Submit][Status][Discuss ...

  3. 【UOJ#422】【集训队作业2018】小Z的礼物(min-max容斥,轮廓线dp)

    [UOJ#422][集训队作业2018]小Z的礼物(min-max容斥,轮廓线dp) 题面 UOJ 题解 毒瘤xzy,怎么能搬这种题当做WC模拟题QwQ 一开始开错题了,根本就不会做. 后来发现是每次 ...

  4. HDU - 4407 Sum (容斥)

    题意:初始序列[1..N](1<=N<=4e5),支持两种操作:1.求区间[x,y]内与p互素的数之和: 2.将x位置的数变为c. 分析:很容易把人骗到线段树的思维中,而实际上操作2单点的 ...

  5. [CSP-S模拟测试]:建设城市(city)(组合数学+容斥)

    题目传送门(内部题8) 输入格式 一行三个整数$n,m,k$. 输出格式 一行一个整数表示答案.对$998244353$取模. 样例 样例输入 3 7 3 样例输出 数据范围与提示 对于10%的数据, ...

  6. 【容斥原理,莫比乌斯反演】用容斥替代莫比乌斯反演第二种形式解决gcd统计问题

    名字虽然很长.但是其实很简单,对于这一类问题基本上就是看你能不能把统计的公式搞出来(这时候需要一个会推公式的队友) 来源于某次cf的一道题,盼望上紫的我让潘学姐帮我代打一道题,她看了看跟我说了题解,用 ...

  7. hdu 5792(树状数组,容斥) World is Exploding

    hdu 5792 要找的无非就是一个上升的仅有两个的序列和一个下降的仅有两个的序列,按照容斥的思想,肯定就是所有的上升的乘以所有的下降的,然后再减去重复的情况. 先用树状数组求出lx[i](在第 i ...

  8. HDU5768Lucky7(中国剩余定理+容斥定理)(区间个数统计)

    When ?? was born, seven crows flew in and stopped beside him. In its childhood, ?? had been unfortun ...

  9. 【BZOJ-4455】小星星 容斥 + 树形DP

    4455: [Zjoi2016]小星星 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 204  Solved: 137[Submit][Status] ...

随机推荐

  1. [PA2014]Matryca

    [PA2014]Matryca 题目大意: 有一堵长度为\(n(n\le10^6)\)的墙需要刷漆,你有一把长度为\(k\)的刷子.墙和刷子都被均匀划分成单位长度的小格,刷子的每一格中都沾有某种颜色的 ...

  2. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习1

    #include <iostream>#include <cctype>using namespace std;int main(){ char ch; while((ch=c ...

  3. CSS 使用absolute 是<div>居中

    <style>        .col-center-block {            position: absolute;            top: 50%;         ...

  4. node版本升级参考

    https://www.cnblogs.com/sese/p/9557161.html

  5. /var/spool/clientmqueue目录~清理

    今天nagios报警,一台服务器的disk满了,使用du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue.... 然后我就想/v ...

  6. 匿名函数function前面的! ~等符号作用小解

    好久没写博客了,刚过完年,给大家拜个晚年,大家新年快乐! 相信昨晚前端,很多同学应该都见过类似于: !function() {do something...}() ~function(){do som ...

  7. 螺旋矩阵 java实现(待消化)

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/4 17:13 * @description ...

  8. mysql 编码问题

    有时候insert数据的时候,会报以下异常: ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x83\xE9\x99\x90...' for ...

  9. Git 提示fatal: remote origin already exists 错误解决办法

    今天使用git 添加远程github仓库的时候提示错误:fatal: remote origin already exists. 最后找到解决办法如下: 1.先删除远程 Git 仓库 $ git re ...

  10. tensorflow 基本内容

    tensorflow的结构 1.使用图(graphs)来表示计算任务 2.在被称之为会话(Session)的上下文(context)中执行图 3.使用tensor表示数据 4.通过变量(Variabl ...