【Wannafly Daily 4.22】World is Exploding
来源:互联网 发布:大数据改变教育 编辑:程序博客网 时间:2024/05/17 09:08
https://cn.vjudge.net/contest/158362#problem/M
好老的题,计算一下总的上升与下降个数乘起来减去不合法的即可
#include<stdio.h>#include<algorithm>using namespace std;#define For(i,a,b) for (int i=a;i<=b;i++)typedef long long ll;#define N 50005#define se second#define fi firstpair<int,int> p[N];int n,k,a[N],t[N],pre_lo[N],pre_hi[N],suf_lo[N],suf_hi[N];inline void add(int x){for (;x<=n;x+=x&-x) t[x]++;}inline int find(int x){ int rt=0; for (;x;x-=x&-x) rt+=t[x]; return rt;}int main(){ p[0].fi=-1; while (~scanf("%d",&n)) { For(i,1,n) scanf("%d",&k),p[i]=make_pair(k,i); sort(p+1,p+n+1); For(i,1,n) a[p[i].se]=a[p[i-1].se]+(p[i].fi!=p[i-1].fi); For(i,1,n) t[i]=0; For(i,1,n) add(a[i]),pre_lo[i]=find(a[i]-1),pre_hi[i]=i-find(a[i]); For(i,1,n) t[i]=0; for (int i=n;i;i--) suf_lo[i]=find(a[i]-1),suf_hi[i]=n-i-find(a[i]),add(a[i]); ll sum_hi=0,sum_lo=0; For(i,1,n) sum_hi+=pre_hi[i],sum_lo+=pre_lo[i]; ll ans=sum_hi*sum_lo; for (int i=1;i<=n;i++) { ans-=(ll)pre_lo[i]*suf_lo[i]; ans-=(ll)pre_hi[i]*suf_hi[i]; ans-=(ll)pre_lo[i]*pre_hi[i]; ans-=(ll)suf_lo[i]*suf_hi[i]; } printf("%I64d\n",ans); }}
0 0
- 【Wannafly Daily 4.22】World is Exploding
- 多校 World is Exploding
- hdu5792 World is Exploding
- World is Exploding
- World is Exploding HDU
- HDU 5792 World is Exploding
- HDU 5792 World is Exploding
- HDU 5792 World is Exploding
- HDOJ 5792 World is Exploding
- HDU 5792 World is Exploding
- HDU 5792 World is Exploding
- Hdu 5792 World is Exploding
- hdu 5792 World is Exploding 树状数组
- HDU-5792-World is Exploding-树状数组
- HDU 5792 World is Exploding(BIT)
- HDU 5792 World is Exploding (树状数组逆序对)
- HDU5792 World is Exploding (线段树&&逆序数)
- 2016多校训练Contest5: 1012 World is Exploding hdu5792
- 新路程------telnet调试linux
- A Simple Math Problem (HDU
- 同步redis
- 文章标题
- sqlserver如何把查询的某个字段的列表转换为字符串输出
- 【Wannafly Daily 4.22】World is Exploding
- python实现字典树
- nsq源码阅读 nsqlookupd源码三 tcp.go tcp_server.go
- PHP json_encode中文不转码 base64链接访问处理
- 关于RSA
- Image-loader之sd卡的写入
- myeclipse中关于Tomcat和JDK的配置问题总结
- Jenkins插件开发——master远程操作slave
- 翻转设计模式系列——第三部分--设计模式(1)--概览