定义序列\(x_i = f([H_i >=x])\;\;\;\;其中f(0) = -1,f(1) = 1\),那么区间[i,j]满足条件当且仅当sum_j-sum_{i-1} > 0,即sum_j>sum_{i-1}

设\(g_d表示\sum_{i-1}^{n} [sum_i=d] , pre_d表示在d前面满足sum[i]<sum[d]的i的个数\)

考虑已求出\(g_{1..k-1} , pre_{1..k-1}\),现在要求\(pre_k\)

若\(sum_j > sum_{j-1}\) , 由此可得\(sum_j = sum_{j-1}+1\) , 则\(pre_j = pre_{j-1} + g_sum_{i-1} + 1 (1指sum_{i})\)

否则\(sum_j = sum_{j-1} -1\) ,由此可得\(pre_j = pre_{j-1} - g_sum_{i-1} + 1 (1指sum_{i})\)

代码如下

#include<iostream>
#include<cstdio>
using namespace std ;
#define ll  long long
#define _ 1000005
ll sum[_] , num[_] , x,n,tmp,pre,ans; // num 即 g 数组 , pre使用滚动数组优化
int main(){cin>>n>>x ;for(int i=1;i<=n;++i){cin>>tmp ; sum[i] = sum[i-1] + ((tmp>=x)?1:-1) ;}num[0] = 1 ;for(int i=1;i<=n;++i){if(sum[i] > sum[i-1]) pre += num[sum[i]]+1 ;else pre -= (num[sum[i-1]]-1) ;num[sum[i]]++ ;ans += pre ;}   cout<<ans<<endl ;
}

转载于:https://www.cnblogs.com/tyqtyq/p/10864760.html

Luogu P3031 高于中位数相关推荐

  1. 创建细分客户的无监督学习项目

    http://blog.itpub.net/29829936/viewspace-2643138/ 在整个项目中,我们将分析一些产品类别中几个客户的消费行为.该项目的主要目标是: 将客户分组为具有相近 ...

  2. 机器学习该如何应用到量化投资系列(二)

    前言 深度学习技术在交易中的研究 深度学习最近受到了很多关注,特别是在图像分类和语音识别领域.然而,它的应用似乎并没有广泛应用到交易当中.这项调查涵盖了到目前为止作者(Greg Harris)发现相关 ...

  3. 基因功能不确定?做一下单基因GSEA怎么样?

    生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...

  4. 单基因GSEA怎么做?

    今天在讨论群看到有群友提问 单基因GSEA怎么做?.之前也看到过这个概念,但一直不清楚这个单是什么含义,一直以为是用单个基因做GSEA.如果之前看过生信宝典的一文掌握GSEA,超详细教程,一定会特别熟 ...

  5. 【渝粤题库】广东开放大学 市场调查与预测 形成性考核

    选择题 题目: 为了在市场调查方案实施过程中能合理有效地利用人力.物力.财力和时间,使实施效果能达到甚至超过方案设计的具体要求,制定市场调查方案时要求遵循(   )原则. 选择一项: 题目: 市场调查 ...

  6. 学术英语理工(第二版)Unit1课文翻译

    普通人对放射性和辐射的认识 介绍 1  自1895年发现X射线以来,电离一直是我们生命中的一部分.从一开始,辐射就被夸大的期望和过度恐惧的神话所笼罩".辐射在某种程度上被描述为一种生命力,一 ...

  7. python数据可视化(matplotlib条形图、饼图、箱状图、直方图、折线图)(代码)

    python数据可视化(matplotlib条形图.饼图.箱状图.直方图.折线图) matplotlib(条形图) 一.简单条形图 1.简单垂直条形图 2.简单水平条形图 二.水平交错条形图 三.垂直 ...

  8. 期权:短期交易日内波动为主 静待市场情绪拐点

    今天,我们继续来看看在期权交易中,困扰了大多数投资者的问题都是怎样的,它们的解决方法是什么?先收藏,再学习哦~ 1.当方向看好后如何使用合适的策略进行买卖? 当方向看好了,是否知道会立即涨跌或不知何时 ...

  9. numpy第三章-索引器、多级索引

    一.索引器 df = pd.read_csv(....) 下面的df都是指数据名 1.列索引 从表中取出一列:df['列名'] 例如:df['Name'] 或者用 .列名 取出,这和 [列名] 是等价 ...

最新文章

  1. HDU 1231 最大连续子序列
  2. kafka的简单使用
  3. JZOJ 5177. 【NOIP2017提高组模拟6.28】TRAVEL
  4. boost::gil::num_channels用法的测试程序
  5. 20164319 刘蕴哲 Exp9 Web安全基础
  6. Task.Factory.StartNew 和 Task.Run 到底有什么区别?
  7. php测试插入,php – 使用Symfony测试数据库插入
  8. mac下sublime text的使用
  9. django-模板语言-循环语句
  10. 深层神经网络——总结
  11. 关键字AUTO_INCREMENT 重命名表 修改列的属性。
  12. python修改app定位_5种萌新技巧定位APP_SIGN代码
  13. 编程机器人考级证书有用吗_机器人编程有等级考试吗?
  14. 【新书速递】CSO进阶之路首次曝光
  15. 图灵、冯诺依曼谁才配得上计算机之父?
  16. Sketch 56.3 for Mac下载
  17. zabbix部署及监控测试
  18. 英特尔DRM内核驱动程序默认启用PSR2省电功能
  19. mimemessage类是什么_邮件发送类
  20. 小程序打包体积优化策略

热门文章

  1. go导入私有仓库中的包配置方法
  2. ubuntu 21.04对source.list.d目录的介绍(软件源、换源)
  3. 【网址收藏】Spark History Server配置及使用
  4. 解决go包管理代理网址无法访问:proxy.golang.org 换成goproxy.cn
  5. npm教程:使用nrm切换镜像源
  6. MySQL使用精确匹配和范围查询的效率差别
  7. 使用pil读取gif图有些位置为黑色_使用 Pillow 快速创建 GIF 动图
  8. 多边形之间相交求交点的算法_路径规划算法总结
  9. Python 序列操作之切片
  10. Java日期时间类型