目录
写在前头
- 写在前头
- 题意要求概括
- 树状数组模板
- 代码详解
- 暴力做法
- 非暴力(二分+思维)
- 总结
这题过了人挺多的,我从大根堆跑到二叉搜索树最后又打算二分, 结果都TLE(二分还没写)了, 给我搞的心态爆炸,结果题解竟然是树状数组,我真就哈哈哈哈哈
题意要求概括就是给你一个数组,对于数组每次读入数, 你对当前这个数都要判断前面比他大的数的个数,和比他小的数的个数
树状数组模板 代码详解```cpp
int getid(int x)
{
return lower_bound(g.begin(),g.end(),x)-g.begin()+1;
二分查找第一个比x大或等于的数 并返回该下标+1
}
int lowbit(int x)
{
return x&(-x);
}
void update(int x)
{
while(x>n;
for(int i=1; i>n;
vectorq;
for(long long i=0; i>a[i];
long long sum=upper_bound(q.begin(),q.end(),a[i])-q.begin();
q.insert(q.begin()+sum,a[i]);
这里加一个Sum真的太666666666了 %%%%%%%%
num=i-sum;
if(i%2==0)
j+=1+sum-num;
else h+=1+sum-num;
}
if(j>h)
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?