题意:满足题目中的式子,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. python3类方法与静态方法

    静态⽅法和类⽅法 转载于:https://blog.csdn.net/qq_41020281/article/details/79634707 1. 类⽅法 是类对象所拥有的⽅法,需要⽤修饰器 @cl ...

  2. react_app 项目开发 (9)_数据可视化 ECharts

    数据可视化 ECharts yarn add echarts echarts-for-react

  3. vue_vuex

    vuex vue 插件 npm install vuex --save 将多个组件的共享状态进行 集中式管理 - 极易破坏单向数据流 多个视图依赖于同一状态 ----- 就 props 而言:嵌套组件 ...

  4. winform 利用Http向服务器上传与下载文件

    利用在服务器端的IIS,布置“请求处理映射”.从而处理,本地发出Post请求.Url指向web网站所在路径的请求映射.由映射代码实现服务器保存文件. winform里面使用,WebClient的对象, ...

  5. PHP使用 strpos() 注意事项

    返回字符出现的第一个位置, 如果字符在被搜索字符串的开头, 则会返回 ‘0’ 因此, 在使用此函数判断 字符串是否包含 某一个字符时  使用: if(strpos('string','str') != ...

  6. Java 初始化、final、清理

    1 为什么需要无参构造器? 第一个是继承需要 super 调用父类的构造器(父类构造器必须存在且不为 private.可以是无参/默认构造器,也可以是有参构造器),特别的如果父类不包含无参构造器的话, ...

  7. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

  8. box-sizing (摘录)

    //http://www.jianshu.com/p/e2eb0d8c9de6 box-sizing其它的值 content-box 描述:在宽度和高度之外绘制元素的内边距和边框. border-bo ...

  9. Jquery获取输入框属性file,ajax传输后端,下载图片

    Django web开发获取input属性file,可以用request.FILES.get(' ')直接获取到,然后正常拼接路径就可以下载, 但是今天我们来用异步获取file的值在传输后端下载. 1 ...

  10. token登录流程

    1.token生成规则: private static $nameKey = array( 'readerid' => 0, //客户号 'ubuntu' => 1, //登录令牌 'pt ...