首页 > TAG信息列表 > 楼兰

[AcWing 241] 楼兰图腾

树状数组 复杂度 \(n \cdot log(n)\) 单点修改, 区间查询 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5 + 10; int n; int a[N]; int tr[N]; int g[N], l[N]; int lowbit(int x) { return x & -x; } void a

树状数组引入—楼兰图腾_acw

树状数组引入—楼兰图腾_acw 题目大意: a数组为1~n的一个排列。找到ijk,使得ai>aj&&ak>aj这就是一个‘V’。问有多少‘V’和多少倒‘V’。 思路和代码: V和倒V是一样的做法,现在只考虑V。找点i左边和右边各有多少个点比点i大,两数字相乘即以该点i为最低点的V数量。 但是数据范围是2e5,不

楼兰图腾

楼兰图腾 原题链接 在完成了分配任务之后,西部 314 来到了楼兰古城的西部。 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(\(V\)),一个部落崇拜铁锹(\(∧\)),他们分别用 \(V\) 和 \(∧\) 的形状来代表各自部落的图腾。 西部 314 在楼兰古城的下面发现了一

acw.241楼兰图腾(模板)

树状模板: #include<iostream> #include<algorithm> #include<cstring> #include<iomanip> #include<cmath> #include<cstdio> #include<cstdlib> using namespace std; typedef long long ll; const int N=2e5+10; int n,a[N],great

楼兰图腾 题解

题解 题目链接   题目中的第一个问题让我们求一个三元组( i , j , k)满足i  < j < k 并且 f( j )  <  f ( i ) 并且 f( j )< f ( k ); 也就是让我们求逆序对。 我们不妨枚举中间的数j 先计算出j左边比f (j)大的数(j的逆序对) 再从后往前枚举 计算j右边比f(j)大的数 我们可以用树状数组