UESTC 841 休生伤杜景死惊开(树状数组)
来源:互联网 发布:xampp mac 安装教程 编辑:程序博客网 时间:2024/06/05 04:55
思路:正着求一次逆序然后反着求一次,相乘就可以了
#include<bits/stdc++.h>using namespace std;#define LL long longconst int maxn = 50000+500;LL ans1[maxn],ans2[maxn];int c[maxn],a[maxn];int lowbit(int x){return x&(-x);}void update(int i,int d){while(i<maxn){c[i]+=d;i+=lowbit(i);}}int query(int i){int ans = 0;while(i){ans+=c[i];i-=lowbit(i);}return ans;}int main(){ int n;while(scanf("%d",&n)!=EOF){LL ans = 0;memset(c,0,sizeof(c));for(int i = 1;i<=n;i++)scanf("%d",&a[i]);for(int i = 1;i<=n;i++){ans1[i]=query(a[i]-1);update(a[i],1);}memset(c,0,sizeof(c));for(int i = n;i>=1;i--){ans2[i]=query(a[i]-1);update(a[i],1);}for(int i = 1;i<=n;i++)ans+=ans1[i]*ans2[i]; printf("%lld\n",ans);}}
Description
陆伯言军陷八卦阵之中,分明只是一条直路,却怎的也走不到尽头。阵中尽是石堆,以某一石堆为参考,无论向走还是向右,总是会回到出发的石堆,最后幸得一黄姓老翁带路才得脱出。
陆伯言逃离八卦阵后,来到山顶观察此阵,记从左往右第i堆石堆的高度为$A_i$,发现任何两堆较矮的石堆都能和它们之间的一座较高的石堆形成"八卦锁”,将其中之人牢牢锁住,无从逃脱。
根据石堆的情况,陆伯言大致计算了“八卦锁”的数量(即 $A_i < A\_j > A_k,i<j<k$ 的组合数),不禁心中一惊,对孔明惊为天人,遂放弃追击,收兵回吴。
“有劳岳父了。” “为何将其放走?” “…一表人才,何必浪费于此。”
Input
第一行一个整数$n$,表示石堆堆数。
接下来一行,$n$个整数,第$i$个数表示从左到右第$i$堆石堆的高度$A_i$。
$1 \leq n \leq 50000,1 \leq A_i \leq 32768$
Output
一个整数,“八阵锁”的数目。
Sample Input
5
1 2 3 4 1
Sample Output
6
0 0
- UESTC 841 休生伤杜景死惊开(树状数组)
- UESTC -- 841 休生伤杜景死惊开(树状数组 逆序数)
- UESTC OJ1217(树状数组)
- UESTC 838 母仪天下(树状数组)
- UESTC 842 天下归晋(树状数组)
- CDOJ1583-树状数组 (2017 UESTC Training for Data Structures)
- UESTC 838 —— 母仪天下(树状数组模板)
- UESTC 1584 Washi与Sonochi的约定 树状数组+排序
- UESTC 1601 艾尔大停电2 二维树状数组+区间更新
- UESTC 1900 倒推数组 (找规律)
- UESTC 1217 The Battle of Chibi (树状数组 + 离散化 + 动态规划)
- 2016 UESTC Training for Data Structures K - 郭大侠与甲铁城 树状数组+离线操作
- 2016 UESTC Training for Data Structures O - 卿学姐种美丽的花 树状数组+等差数列
- 2016 UESTC Training for Data Structures R - Japan 树状数组求逆序数
- 2016 UESTC Training for Data Structures K - 郭大侠与甲铁城 CDOJ 1342 离线树状数组
- 2016 UESTC Training for Data Structures P - 浑身难受 CDOJ 1276 树状数组
- 2016 UESTC Training for Data Structures R - Japan CDOJ 383 树状数组 逆序对
- qscoj 66 ||2017 UESTC Training for Data Structures D(离线+树状数组)
- UESTC 838 母仪天下(树状数组)
- Java学习-标识符-变量-基本类型
- 求1-100之内的奇数偶数和
- VPS网速测试
- Python2 之 print函数示例
- UESTC 841 休生伤杜景死惊开(树状数组)
- 类与对象
- 加载控制器的三种方式
- C#控制台 枚举类型声明初始化,输出名称与对应的int值
- UESTC 842 天下归晋(树状数组)
- 暑假训练第一期---思维题1
- 旋转矩阵 北航2008
- android第一行代码笔记
- nginx 简单配置