Max Median 题目链接:点这里
题目大意:给你n个数和一个范围k,让你从n个数里连续选不小于k个数,然后进行排序找中位数,让你求出最大的中位数。
题解:这是很有意思的一道题,我们可以用二分来进行思考,我们先假定我们当前的数是a,那么在n范围内,大于a的我们可以记为1,小于a的可以记为-1,然后我们就可以得到a在这些个数当中的位置,如果最后的sum>0,那么我们还可以得到更大的中位数,不过挨个遍历太浪费时间了,显然可得这个中位数是单调的,所以我们可以用二分来进行优化。

#include<bits/stdc++.h>
#define ll long long
#define pr pair<ll,ll>
#define ios ios::sync_with_stdio(false)
#define CRL(a) memset(a,0,sizeof a)using namespace std;const int maxn = 2e5 + 5;
int x[maxn];
int sum[maxn];
int n, k;
int bb(int a,int b)
{return b > a ? 1 : -1;
}
bool solve(int a)
{for (int i = 1; i <= n;i++){sum[i] = sum[i - 1] + bb(a, x[i]);}int min1 = n, max1 = -n;for (int i = k; i <= n;i++){min1 = min(min1, sum[i - k]);max1 = max(max1, sum[i] - min1);}return (max1 > 0);
}
int main()
{cin >> n >> k;for (int i = 1; i <= n;i++){cin >> x[i];}int l = 1, r = n;while(l<=r){int mid = l + r >> 1;if(solve(mid))l = mid + 1;elser = mid - 1;}cout << l;return 0;
}

Max Median相关推荐

  1. CodeForces - 1486D Max Median(二分+最长连续子段和)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列,现在从长度至少为 kkk 的连续子段中,找到最大的中位数 题目分析:做过平均数的模型:POJ - 2018 Best Cow Fences ...

  2. CF1486D Max Median

    CF1486D Max Median 题意: 给定一个长度为 n 的序列 a,求所有长度 ≥k 的连续子序列中,中位数的最大值.定义中位数是一个长度为 x 的序列升序排序后的第 ⌊x+12⌋\left ...

  3. Codeforces Round #703 (Div. 2) D. Max Median

    题意:给一个长度为n的序列,对于一个区间长度不小于k的子区间,中位数为这个区间排序后的第(k+1)/2个数字.现在求所有的长度不小于k的子区间,中位数的最大值是多少. 思路:首先要想到,对于一个中位数 ...

  4. Codeforces Round #703 (Div. 2) D . Max Median 二分 +思维

    传送门 题意: 给定一个数组和k,求一段连续区间中位数最大值,连续区间长度>=k. 如果=k的话可以直接秒了,这里是>=k,我们可以通过二分让后利用>=k这个条件来检查答案. 二分中 ...

  5. median函数 oracle9i,oracle10g学习笔记

    1.简介 1.1.sql:Structured Query Language 结构化查询语言 1.2.windows在目录路径中使用反斜线\,unix和linux使用正斜线/ 1.3.Number(a ...

  6. Oracle 聚合函数(Aggregate Functions)说明

    Oracle Aggregate Functions用过很多,官网的说明如下: Aggregate Functions http://docs.oracle.com/cd/E11882_01/serv ...

  7. locust压测工具:测试信息输出与分布式模式

    locust压测环境描述 本文环境python3.5.2 locust版本0.9.0 locust测试信息输出与分布式模式 本文将主要分析两个方面的内容: 1.locust在启动运行在跑测试用例的时候 ...

  8. Codeforces Round #703 (Div. 2)(A ~ F)超高质量题解【每日亿题2 / 19】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A. Shifting Stacks B - Eastern Exhibition C1 - G ...

  9. 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍

    1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...

最新文章

  1. 基于角色的权限设计(一)
  2. 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )
  3. 计算机二级题目小汽车大客车,浙江省计算机二级办公软件Excel练习题.xls
  4. HashMap中提到的散列是什么?
  5. c语言项目为什么要build?(gcc、makefile、cmake(qmake)、CMakeLists.txt)(qmake、cmake、qbs区别解析)(qmake还是cmake,mingw作用)
  6. C语言二个多项式的加法poly add算法(附完整源码)
  7. Dubbo面试 - dubbo的工作原理
  8. python中global的使用_PYTHON中使用GLOBAL引发的一系列问题
  9. python如何安装wordcloud_基于python的wordcloud库的安装方法
  10. Typora 快捷键设置
  11. python opencv 直方图均衡化_Python opencv—直方图/直方图均衡化/直方图比较,pythonopencv...
  12. legend---六、php脚本变量的生命周期是怎样的
  13. mysql shrink_MySQL Group Replication内存使用分析和优化-1
  14. 高等数学(第七版)同济大学 习题1-9 个人解答
  15. 如何在matlab中设置colorbar
  16. USB 3.0 高清音视频采集芯片——MS2130
  17. ios相机黑边_iOS相机去黑框
  18. 重力传感事件应用之一 手机摇一摇(摇一次得一分)
  19. 【量化】验证《股市操盘宝典》对周期论
  20. 本地事务与分布式事务

热门文章

  1. 惠普(hp)电脑的一般拆分步骤(以清理灰尘为目标)
  2. linux的ps 分页显示,技术|5 个最酷的终端分页器
  3. WRA来了新成员:AI战宠亮相亚洲VR&AR博览会
  4. 创建一个富有个性的海盗天文望远镜
  5. 养生理疗馆有哪些服务项目
  6. Python-Django毕业设计中小学课后延时服务管理系统(程序+Lw)
  7. 财富杂志公布全球500强 联想入围中移动排148位
  8. 用idea搭建一个Spring Cloud项目(含代码)
  9. Linux 下.cpp与.cu编译
  10. Red Hat Enterprise Linux 5安装Oracle(10g/11g)