Max Median
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相关推荐
- CodeForces - 1486D Max Median(二分+最长连续子段和)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列,现在从长度至少为 kkk 的连续子段中,找到最大的中位数 题目分析:做过平均数的模型:POJ - 2018 Best Cow Fences ...
- CF1486D Max Median
CF1486D Max Median 题意: 给定一个长度为 n 的序列 a,求所有长度 ≥k 的连续子序列中,中位数的最大值.定义中位数是一个长度为 x 的序列升序排序后的第 ⌊x+12⌋\left ...
- Codeforces Round #703 (Div. 2) D. Max Median
题意:给一个长度为n的序列,对于一个区间长度不小于k的子区间,中位数为这个区间排序后的第(k+1)/2个数字.现在求所有的长度不小于k的子区间,中位数的最大值是多少. 思路:首先要想到,对于一个中位数 ...
- Codeforces Round #703 (Div. 2) D . Max Median 二分 +思维
传送门 题意: 给定一个数组和k,求一段连续区间中位数最大值,连续区间长度>=k. 如果=k的话可以直接秒了,这里是>=k,我们可以通过二分让后利用>=k这个条件来检查答案. 二分中 ...
- median函数 oracle9i,oracle10g学习笔记
1.简介 1.1.sql:Structured Query Language 结构化查询语言 1.2.windows在目录路径中使用反斜线\,unix和linux使用正斜线/ 1.3.Number(a ...
- Oracle 聚合函数(Aggregate Functions)说明
Oracle Aggregate Functions用过很多,官网的说明如下: Aggregate Functions http://docs.oracle.com/cd/E11882_01/serv ...
- locust压测工具:测试信息输出与分布式模式
locust压测环境描述 本文环境python3.5.2 locust版本0.9.0 locust测试信息输出与分布式模式 本文将主要分析两个方面的内容: 1.locust在启动运行在跑测试用例的时候 ...
- Codeforces Round #703 (Div. 2)(A ~ F)超高质量题解【每日亿题2 / 19】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A. Shifting Stacks B - Eastern Exhibition C1 - G ...
- 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍
1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...
最新文章
- 基于角色的权限设计(一)
- 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )
- 计算机二级题目小汽车大客车,浙江省计算机二级办公软件Excel练习题.xls
- HashMap中提到的散列是什么?
- c语言项目为什么要build?(gcc、makefile、cmake(qmake)、CMakeLists.txt)(qmake、cmake、qbs区别解析)(qmake还是cmake,mingw作用)
- C语言二个多项式的加法poly add算法(附完整源码)
- Dubbo面试 - dubbo的工作原理
- python中global的使用_PYTHON中使用GLOBAL引发的一系列问题
- python如何安装wordcloud_基于python的wordcloud库的安装方法
- Typora 快捷键设置
- python opencv 直方图均衡化_Python opencv—直方图/直方图均衡化/直方图比较,pythonopencv...
- legend---六、php脚本变量的生命周期是怎样的
- mysql shrink_MySQL Group Replication内存使用分析和优化-1
- 高等数学(第七版)同济大学 习题1-9 个人解答
- 如何在matlab中设置colorbar
- USB 3.0 高清音视频采集芯片——MS2130
- ios相机黑边_iOS相机去黑框
- 重力传感事件应用之一 手机摇一摇(摇一次得一分)
- 【量化】验证《股市操盘宝典》对周期论
- 本地事务与分布式事务
热门文章
- 惠普(hp)电脑的一般拆分步骤(以清理灰尘为目标)
- linux的ps 分页显示,技术|5 个最酷的终端分页器
- WRA来了新成员:AI战宠亮相亚洲VR&AR博览会
- 创建一个富有个性的海盗天文望远镜
- 养生理疗馆有哪些服务项目
- Python-Django毕业设计中小学课后延时服务管理系统(程序+Lw)
- 财富杂志公布全球500强 联想入围中移动排148位
- 用idea搭建一个Spring Cloud项目(含代码)
- Linux 下.cpp与.cu编译
- Red Hat Enterprise Linux 5安装Oracle(10g/11g)