[CQOI2009]中位数图

简介: [CQOI2009]中位数图

[CQOI2009]中位数图 这是一道OI真题,我们来看看题目:

顺便放下地址吧:[CQOI2009]中位数图

读了题目之后发现直接枚举是不行的,会超时,那么我们就得换种思路了,我们可以把大于目标数的数设置为1,小于目标数(题目中的b,下同)的设置为-1,然后只要包含目标数的区间的和为1则符合要求,然后应用前缀和的思想便可以快速解决!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
int n,b;
int a[100010],cnt[2*100010];
int ans;
int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    cin>>n>>b;
    int pos=0;//标记目标数的位置
    for(int i=1;i<=n;i++){
        int x;  cin>>x;
        if(x==b) a[i]=0,pos=i;
        if(x<b) a[i]=-1;
        if(x>b) a[i]=1;
    }
    int s=0;//s用来装前缀/后缀和
    for(int i=pos-1;i>=1;i--){
        s+=a[i];
        cnt[s+n]++;
        if(!s) ans++;//后缀和为0的,符合要就 ,ans++
    }
    s=0;
    for(int i=pos+1;i<=n;i++){
       s+=a[i];
       ans+=cnt[n-s];//与左边的进行匹配
       if(!s) ans++;//前缀和为0的,符合要就 ,ans++
    }
    cout<<ans+1;
    return 0;
}


相关文章
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
1508 1
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
|
7月前
R语言自定义两种统计量度:平均值和中位数,何时去使用?
R语言自定义两种统计量度:平均值和中位数,何时去使用?
|
数据格式
SPSS计算偏度、峰度、平均值、极值、中位数、标准差
本文介绍基于SPSS软件的经典统计学分析与偏度、峰度等常用统计学指标的计算方法~
4219 1
SPSS计算偏度、峰度、平均值、极值、中位数、标准差
|
数据可视化
R|散点图+边际图(柱形图,小提琴图),颜值区UP
R|散点图+边际图(柱形图,小提琴图),颜值区UP
164 0
ggplot2|发散性“正负”图
ggplot2|发散性“正负”图
113 0
|
数据挖掘 BI 定位技术
为什么中位数(大多数时候)比平均值好
为什么中位数(大多数时候)比平均值好
266 1
为什么中位数(大多数时候)比平均值好
|
数据处理
集中趋势中均值、中位数、众数以及偏态分布、偏度和峰度计算相关
集中趋势中均值、中位数、众数以及偏态分布、偏度和峰度计算相关
533 0
集中趋势中均值、中位数、众数以及偏态分布、偏度和峰度计算相关
|
SQL 存储 数据可视化
不使用直方图的6个原因以及应该使用哪个图替代
不使用直方图的6个原因以及应该使用哪个图替代
242 0
不使用直方图的6个原因以及应该使用哪个图替代
|
资源调度 Python
Python:怎么画出均值和置信区间的图
在统计学上,置信区间是从已观测到的数据中统计出来的一个估计。它给出了未知参数可能落在的区域。而通俗的讲,就是我们去估计一个参数(大部分情况是一个平均值或期望),但是估计一定会有误差,所以置信区间就告诉我们,这个平均值的误差范围。
548 0
Python:怎么画出均值和置信区间的图