HOJ 2275 Number sequence(树状数组)
来源:互联网 发布:linux终端连接redis 编辑:程序博客网 时间:2024/05/23 19:22
题意:给定一个n个元素的数列,令Ai, Aj, Ak,使得 Ai < Aj > Ak 且 i < j < k这样的三个数为一组。求出一共有多少组。
思路:可以用树状数组,每次输入一个Ai,可以查询到之前输入的比它小或比它大的有多少组,之后输入的就不得而知了,所以可以开个数组记录下来逆序再建树一次即可
另外数的范围取到了0,所以每个数要自加一次,而且组数是longlong的,而且HOJ的服务器系统支持的是lld,不是i64d..wa了几次
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;#define M 35000#define N 50050#define ll long long#define lowbit(x) (x&-x)int tree[M];int num[N];ll tmp[N];int sum(int rt){ int s=0; while(rt>0){ s+=tree[rt]; rt-=lowbit(rt); } return s;}void update(int rt){ while(rt<=M-1){ tree[rt]++; rt+=lowbit(rt); }}int main(){ int n; while(~scanf("%d",&n)){ memset(tree,0,sizeof(tree)); for(int i=1;i<=n;i++){ scanf("%d",&num[i]); num[i]++; } ll ans=0; for(int i=1;i<=n;i++){ tmp[i]= sum(num[i]-1); update(num[i]); } memset(tree,0,sizeof(tree)); for(int i=n;i>=1;i--) { ans+=tmp[i]*(ll)sum(num[i]-1); update(num[i]); } printf("%lld\n",ans); } return 0;}
0 0
- hoj 2275 Number sequence 树状数组解法
- HOJ 2275 Number sequence(树状数组)
- hoj 2275 Number sequence(树状数组)
- HOJ 2275 Number sequence(树状数组)
- -----hoj 2275 Number sequence(树状数组)
- HOJ 2275——Number sequence(树状数组)
- HOJ 2275 Number sequence(树状数组) 大于小于问题
- 树状数组题目总结三( 上)( HOJ 2275 Number sequence )
- HOJ 2275 Number Sequence
- hoj 2275 Number Sequence
- hoj 2275 Number sequence
- Hoj 2275 Number Sequence
- HOJ 2275 Number sequence
- hoj (2275)树状数组
- Number sequence 树状数组基础
- hoj 1867 水~~~树状数组
- hoj 2275 树状数组 水··不能int 64
- 求序列中满足Ai < Aj > Ak and i < j < k的组数 树状数组 HIT 2275 Number sequence
- Visual C++ Tips: Resolve the project always 'out of date' issue
- [Leetcode 19, Easy] Remove Nth Node From End of List
- HDU 1702----ACboy needs your help again!(栈和队列)
- Openwrt 中的Qos方式及原理概述
- 康夫子:医疗人工智能、大数据信息技术提供商
- HOJ 2275 Number sequence(树状数组)
- python的print
- LeetCode Minimum Path Sum
- UIKit基础:15-与电脑玩剪刀石头布
- Memcached源码分析 - Memcached源码分析之基于Libevent的网络模型(1)
- POJ 2945 Find the Clones (Trie树 两种姿势)
- 【Linux是什么】Torvalds的Linux开发
- [Leetcode 118 and 119, Easy] Pascal's Triangle (I and II)
- Pasta Stew