HDU2492 Ping pong
来源:互联网 发布:金融软件开发待遇 编辑:程序博客网 时间:2024/05/21 17:30
树状数组入门题 算出前缀和再逆序算出后缀和
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int c[100005],s[20005],num[20005],ss[20005];int n;int lowbit(int x){ return x&(-x);}void add(int ai,int t){ while(ai<=100000) { c[ai]+=t; ai+=lowbit(ai); }}int sum(int x){ int ret=0; while(x>0) { ret+=c[x]; x-=lowbit(x); } return ret;}int main(){ int xi; scanf("%d",&xi); while(xi--) { memset(c,0,sizeof c); memset(s,0,sizeof s); memset(ss,0,sizeof ss); memset(num,0,sizeof num); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&num[i]); add(num[i],1); s[i]=sum(num[i]-1); } memset(c,0,sizeof c); for(int i=n;i>=1;i--) { add(num[i],1); ss[i]=sum(num[i]-1); } __int64 ans=0; for(int i=2;i<n;i++) { ans+=(__int64)(s[i])*(__int64)(n-ss[i]-i); ans+=(__int64)(ss[i])*(__int64)(i-1-s[i]); } printf("%I64d\n",ans); }}
0 0
- HDU2492 Ping pong
- C - Ping pong hdu2492
- 线段树 HDU2492 Ping pong
- hdu2492 Ping pong (树状数组)
- 树状数组 hdu2492 Ping pong
- hdu2492 Ping pong 树状数组BIT
- HDU2492 Ping pong 树状数组求逆序数
- Ping pong
- Ping pong
- Ping pong
- Ping pong
- Ping pong
- Ping pong
- Ping pong
- ping-pong
- Ping pong
- hdu Ping pong Ping pong 线段树
- Playing ping-pong
- Python中使用MySQLdb连接MySQL
- c++ note some detail
- Oracle Dimension
- 【深入浅出Objective-C】5.3日志描述
- Shell学习(3)——shell变量(二)
- HDU2492 Ping pong
- Climbing Stairs
- 数据库迁移/数据库版本管理(Database Migration/VCS for database)
- 二十款漂亮的CSS字体样式
- 黑马程序员--html中css小结
- hdu 1501 Zipper(DP)
- Support13Demos 导入android-support-v4.jar android-support-v13.jar
- IE6、IE7的兼容问题
- seo的学习资料