中位数C++题解

news/2024/11/30 1:51:51/

T3 中位数

题目描述
在玩正整数。他手里有一个串,每次会实施三种操作中的一种。

  1. 把没有加入的最小的正整数,从左边加入串中。
  2. 把没有加入的最小的正整数,从右边加入串中。
  3. 询问此时串的最中间的数,也就是假设当前有 个数,输出第
    个数。
    他会进行 次操作,对于每次3操作,输出询问值。
    输入格式
    第一行包含一个整数 。
    之后的 行每行首先包含一个整数 。
    输出格式
    对于每个3操作,输出询问值。
    样例
    样例输入1
    6
    1
    1
    1
    3
    2
    3
    样例输出1
    2
    1
    思路:用一个数组要开到2e6, 因为前后各自1e6,定义两个指针h,t,如果是1,q[–h] = x;如果是2,q[++t] = x;
    如果是3,求ht中间点做为数组下标。
    注意,输入要用scanf,输出用printf,不然会tle的很惨,考试因为没用scanf只得了55pts。
    ac代码如下:
#include <bits/stdc++.h>
using namespace std;
int q[2000010];
int n;
int id;
int cnt = 1;
int h, t;
int main() {freopen("middle.in", "r", stdin);freopen("middle.out", "w",stdout);scanf("%d", &n);id = 1e6 + 1;h = id, t = id + 1;for(int i = 1; i <= n; i++) {int op;scanf("%d", &op);if(op == 1) {q[h] = cnt;h--;cnt++;}if(op == 2) {q[t] = cnt;t++;cnt++;}if(op == 3) {printf("%d\n", q[h + (int)(ceil((double)((t - h) / 2.0)))]);}}
//	cout << h <<" " <<  t << endl;
//	for(int i = h; i <= t; i++) {
//		cout << q[i] << " ";
//	}return 0;
}

http://www.ppmy.cn/news/1132386.html

相关文章

golang 对不同结构体中数据进行相互转换的几种常用方法

golang 对不同结构体中数据进行相互转换的几种常用方法 常用的不同结构体中的数据相互转换的方法1. 利用json包的marshal和unmarshal2. 使用第三方包 copier 进行数据转换3.对结构不同的结构体进行转换 常用的不同结构体中的数据相互转换的方法 1. 利用json包的marshal和unmar…

idea没有maven工具栏解决方法

背景&#xff1a;接手的一些旧项目&#xff0c;有pom文件&#xff0c;但是用idea打开的时候&#xff0c;没有认为是maven文件&#xff0c;所以没有maven工具栏&#xff0c;不能进行重新加载pom文件中的依赖。 解决方法&#xff1a;选中pom.xml文件&#xff0c;右键 选择添加为…

Python3数据科学包系列(一):数据分析实战

认识下数据科学中数据处理基础包: (1)NumPy 俗话说: 要学会跑需先学会走 (1)数据分析基础认知:NumPy是,Numerical Python的简称,它是目前Python数值计算中最为重要的基础包,大多数计算包提供了基于NumPy的科学函数功能;将NumPy的数值对象作为数据交换的通用语 NumPy通常用于处…

Unity 一些常用特性收集

常用的类的特性 特性效果[Serializable]可序列化&#xff0c;作为一个子属性显示在Inspector面板[RequireComponent(typeof(CoomponnetName))]该类挂载的游戏物体&#xff0c;需要要有对应的组件[DisallowMultipleComponent]不允许挂载多个该类或其子类[ExecuteInEditMode]允许…

点亮一个LED+LED闪烁+LED流水灯——“51单片机”

各位CSDN的uu们好呀&#xff0c;这是小雅兰的最新专栏噢&#xff0c;最近小雅兰学习了51单片机的知识&#xff0c;所以就想迫不及待地分享出来呢&#xff01;&#xff01;&#xff01;下面&#xff0c;让我们进入51单片机的世界吧&#xff01;&#xff01;&#xff01; 点亮一个…

spring boot项目 mvn test 和 mvn clean install 和 mvn test-compile 识别不到测试类无法运行单元测试

测试类使用了junit4&#xff0c; spring boot 版本的test 框架自带的是junit5&#xff0c;不兼容。 按照spring boot 对应的版本的junit框架&#xff0c;修改测试类&#xff0c;比如我就修改了junit5。按照&#xff1a; https://docs.spring.io/spring-boot/docs/2.6.3/refere…

12、Kubernetes中KubeProxy实现之iptables和ipvs

目录 一、概述 二、iptables 代理模式 三、iptables案例分析 四、ipvs案例分析 一、概述 iptables和ipvs其实都是依赖的一个共同的Linux内核模块&#xff1a;Netfilter。Netfilter是Linux 2.4.x引入的一个子系统&#xff0c;它作为一个通用的、抽象的框架&#xff0c;提供…

RSS订阅

RSS订阅是一种内容聚合的工具&#xff0c;它可以帮助你聚合、分类、整理日常大量信息。以下是使用RSS订阅的一些好处&#xff1a; 获取更新信息&#xff1a;当你订阅了某个网站或者主题&#xff0c;每当有新的内容更新&#xff0c;你都会第一时间收到通知。提高阅读效率&#…