POJ 3481 Double Queue

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线 在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如 阅读详情

POJ 3481 Double Queue

(中文版)北大2017大数据研究中心夏令营上机考试 G题 双队列

在POJ上找到的英文版原题链接

描述

系统A用来维护客户。每个客户的id用一个正整数K来表示,当客户进入系统时用P来表示此用户的优先度。这个系统有以下请求

0系统停止运行
1 K P优先度为P的客户K进入系统
2找到优先度最高的客户,然后此客户离开系统
3找到优先度最低的客户,然后此客户离开系统

输入

每行包括一个请求,最后一行包括一个停止请求(代码0)。对于添加客户请求(代码1),优先度都是唯一的。客户的表示K小于106,优先度P小于107,一个客户可能会被添加多次,每次的优先度可能不同。

输出

对于每个请求2和3,程序必须输出一行。这行包括此请求中找到客户的id。如果系统中没有客户,输出0。

样例输入

2
1 20 14
1 30 3
2
1 10 99
3
2
2
0

样例输出

0
20
30
10
0

思路

本题说是双队列,其实可以用C++的STL中的map来作灵活处理。(其实可以试着用数据结构来处理,准备试一下)。而且英文题目中说的很清楚“You may assume that when there is a request to include a new client in the list (code 1), there is no other request in the list of the same client or with the same priority.”,即插入的K和P的值都没有重复的,所以可以用map,不存在重复覆盖的问题。利用了map的性质:第一个关键字有序,这样可以省去排序的麻烦。此题需要scanf()和printf(),若用cin和cout会超时。(找到了用cin和cout而不会超时的办法——在main()函数最开始的时候加上std::ios::sync_with_stdio(false);
std::cin.tie(0);
这两行代码就OK啦,参考链接cin,cout的加速)

源代码

#include<iostream>
#include<map>
using namespace std;

int main(){
    map<int,int> myMap;
    map<int,int>::iterator iter;//注意map的这种用法
    int n,K,P,sum=0;
    while(scanf("%d",&n)==1 && n!=0){
        if(n==1){
            //本题换作cin,cout超时了
            //cin>>K>>P;
            scanf("%d%d",&K,&P);
            myMap[P]=K;
            sum++;
        }
        if(n==2){
            if(sum==0){
                //cout<<0<<endl;
                printf("0\n");
            }
            else{
                iter=myMap.end();
                iter--;
                //cout<<iter->second<<endl;
                printf("%d\n",iter->second);
                myMap.erase(iter);
                sum--;
            }
        }
        if(n==3){
            if(sum==0){
                //cout<<0<<endl;
                printf("0\n");
            }
            else{
                iter=myMap.begin();
                //cout<<iter->second<<endl;
                printf("%d\n",iter->second);
                myMap.erase(iter);
                sum--;
            }
        }

    }
    return 0;





}
matlab 计算点云粗糙度 A Correspondence Framework for ALS Strip Adjustments based on Variants of the ICP Algorithm 阅读详情

相关推荐

华为昇腾910B3显卡实战:手把手教你部署DeepSeek 32B模型(含Bge-zh向量库配置)

本文详细介绍了在配备8张华为昇腾910B3显卡的服务器上,从零部署DeepSeek 32B大模型推理服务的完整实战方案。内容涵盖环境准备、模型配置、多卡负载分配,并集成了BGE中文向量模型与ChromaDB向量数据库,最终通过Open WebUI构建了可投入生产的企业级AI应用栈,为私有化大模型部署提供了具体参考。

weixin_29038345的博客 1709

POJ-3481 Double Queue

Double Queue 题意:有一个银行, 现在有3种操作, 1 往机器里插入一个优先度为 k, 编号为 x 的人 2 对机器里的优先度最大的人 处理业务, 输出这个人的标号, 并且从机器里删除中这个人。 3对机器里的优先度最小的人 处理业务, 输出这个人的标号, 并且从机器里删除中这个人。 题解:splay 转一转 就好了, 没有什么额外的操作。可以先插入一个最大值, 一个...

dengpangbu3703的博客 163

手把手教你用Matlab为PMSM电流环设计2P2Z补偿器(附与PI对比)

本文详细介绍了如何使用Matlab的controlSystemDesigner工具为永磁同步电机(PMSM)电流环设计2P2Z补偿器,并与传统PI控制器进行性能对比。通过频域分析和时域仿真,展示了2P2Z补偿器在提升带宽、减少超调等方面的优势,为高性能伺服驱动和精密运动控制提供了实用解决方案。

weixin_42551227的博客 377

POJ 3481 Double Queue [splay]

POJ 3481 [splay]

ACTerminate的博客 535

quartus 13.1常见报错解决方法

在使用quartus中会遇到很多由于安装或设置不规范造成的错误。我就目前我遇到的一些错误以及我的解决方法分享给大家,这个文章将会持续更新,如果读者有遇到软件中错误无法解决的问题,也欢迎在评论区留言。 一、编译出现lience错误 在对设计的电路编译时,系统在程序运行3秒内即结束并报错,大概意思为现有的证书不支持编译。这个常见问题源自破解不成功,这里读者很有可能犯的错误是在使用破解器的时候没有区分x86(即32-bit)和x64软件破解器对应的文件夹。 如图所示有两种破解器,分别对应32位和64位的软件,大部

肥宅的博客 3万+

保姆级避坑指南:在Ubuntu 22.04上从零编译Autoware.universe(含ROS2 Humble和CUDA配置)

本文提供了一份详细的Autoware.universe编译指南,涵盖Ubuntu 22.04系统优化、ROS2 Humble安装避坑、CUDA配置及Demo运行技巧。通过分步操作和实战经验,帮助开发者高效完成环境搭建,避免常见错误,提升自动驾驶开发效率。

weixin_30642561的博客 347

Double Queue(c++)

题意:给定一些操作,根据优先级维护一个序列,每次根据指令进行提取数列中最前或最后的数: 0:终止程序 1 K P:将优先级为P的数K加到序列中 2 :取出并输出序列中优先级最高(P最大)的数 3 :取出并输出序列中优先级最低(P最小)的数 取数时如果序列中没有数则输出0 思路: 用set维护这个序列,优先级最低的数为迭代器st.begin()中的数,优先级最高的数为迭代器st.end()-1中的数,删除数时用st.erase(迭代器)即可。 AC代码如下: /* author:wuzx

m0_51028279的博客 662

知识图谱初步学习(一)——本体+Protege新手学习

文章目录前言(本体详解)1.本体概念2.本体分类3.本体组成4.本体构建方法一、protege简介二、软件使用步骤1.安装2.使用三、问题解决方案汇总 前言(本体详解) 在开始学习知识图谱的过程中,首先就是要了解什么是本体(ontology)。 1.本体概念 本体的概念最初源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体是可以在语义的层次上来对知识进行描述,可以看做是某一个领域知识的通用模型。 本体是从客观世界中抽象出来

qq_43654669的博客 3万+

【POJ No. 3481】双重队列 Double Queue

【POJ No. 3481】双重队列 Double Queue

代码改变世界 886

Avalonia+ReactiveUI跨平台路由:从零到舞者,你的UI也能跨界起舞?

至此,你已掌握了Avalonia+ReactiveUI的跨平台路由精髓!你的应用现在能够优雅地在各个界面间穿梭,就像是在不同星球间跳跃的宇宙飞船。无论是初探跨平台开发的新手,还是经验丰富的老船长,这段旅程都能让你的UI编排技能更上一层楼。现在,是时候让世界见证你的跨平台魔术了!💫记住,每一次实践都是向着完美编舞迈进的一步,勇敢地在你的项目中尝试吧!如果在航行中遇到风暴,别忘了回来看看这篇指南,或者在评论区抛出你的救生圈,我们一起解决!🌊。

java专栏 1534

STM32实战开发(65):STM32摄像头图像采集开发教程

我们将会详细介绍如何使用STM32进行摄像头控制、图像数据采集以及如何将采集到的图像数据传输到其他设备进行处理。通过这篇博客,您将能够掌握STM32与摄像头模块的图像采集技术,应用于各种图像处理场景。为了确保STM32能够正确接收图像数据,我们需要配置STM32的GPIO引脚,并通过外部中断捕获这些信号。为了实现更高效的图像采集,可以通过DMA进行数据传输,将图像数据直接从GPIO引脚存储到内存中。通过DMA传输,我们可以将采集到的图像数据直接存储在内存中的一个缓冲区,然后进行后续的图像处理。

2201_76125393的博客 2537

POJ 3481:双端队列 ← 数组模拟

​虽然本题来源于三个刷题网站: POJ 3481:http://poj.org/problem?id=3481 HDU 1908:http://acm.hdu.edu.cn/showproblem.php?pid=1908 AcWing 5128:https://www.acwing.com/problem/content/5128/ 但是,下文使用数组模拟的代码仅在 POJ 3481 上通过,而在 HDU 1908 及 AcWing 5128 上均超时。故可考虑使用 STL map 来实现。

hnjzsyjyj的专栏 377

基于51单片机的电子记分牌的设计

基于51单片机的电子记分牌的设计 电子记分牌基于51单片机的电子记分牌的设计摘要1 引言2 总体设计方案2.1 设计思路(1)设计要求(2)设计思路(3)设计方案2.3综合设计方框图(1)硬件设计框图(2)软件设计3 设计原理分析3.1 电源、复位、下载电路的设计(见图1、2、3)3.2 时钟电路的设计3.3 矩阵键盘电路的设计3.4 数码管显示电路设计4程序代码 摘要 本设计为电子记分牌设计,是以STC89C52芯片为核心,辅以必要电路设计进行的。用4位LED七段数码管显示比赛两方的分数(每方分数用2位

行走的皮卡丘 2037

POJ 3481 Double Queue(Treap)

POJ 3481 Double Queue(Treap) http://poj.org/problem?id=3481 题意:每个顾客有个编号和优先级,银行每次可以添加顾客的要求进队列,且保证队列中当前任意顾客的编号和优先级都不同.银行可以执行先服务最大优先级的顾客或者先服务最小优先级的顾客操作.对于每个服务,输出顾客的编号. 分析:直接构建Treap,插入节点的v值(顾客优先级)和节点的r

code 3105

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ 3481 Double Queue(无旋treap/Splay)

题目传送门 解题思路 三种操作,插入一个数,取最大值并删除,取最小值并删除。 应该有挺多方法可以做的。 提供无旋treap和Splay这两种平衡树的数组的做法。 代码 无旋treap版本 #include<cstdio> #include<algorithm> using namespace std; #define ll long long #defi...

shadiao.的博客 370

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

POJ - 3481 Double Queue

STL,set的使用

The Blog Of Uncle_Sugar 389

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 3481 Double Queue

题目链接:http://poj.org/problem?id=3481 题目大意: 给你0-3四个指令: 0 退出 1 添加优先级为P 的 K值,进入队列 2 最高优先级出队 3 最低优先级出队 思路: 利用map数据对key默认升序排列。 AC代码如下: #include<map> #include<iostream> using namespace std; int...

Michael是个半路程序员 1015

poj 3481 Double Queue

有三种操作,添加客户,输出优先级最高的客户并删掉,输出优先级最低的客户并删掉。作为学习splay的题目,敲出了人生中的第一颗splay。居然和时限一样AC。         小发现:因为写的是指针版的splay,后来加了一句free,把删除的节点free掉,运行快了不少。 #include #include #include #include #incl

A Cube Master 624

poj3481 Double Queue

平衡树模板题

AaronPolaris 2748

POJ 3481 Double Queue【SBT】

http://poj.org/problem?id=3481 该SBT模板只实现了一些简单的操作,我会不断完善其它功能。 #include #include #include #include #include using namespace std; const int maxn = 100010; struct Node { int key, val;

~飞呀,飞~ 1148

poj3481 Double Queue splay

题意:有3中草

AC_kereo的专栏 826

POJ 3481 Double Queue Treap练习题

http://poj.org/problem?id=3481 题意很简单,就是给你很多用户的信息,叫你找出某一时刻的最大值,或最小值的id并将他从队列中删除。 这道题做法有很多很多,set都可以过去,我就把这道题当作Treap的练习题; 下面来一个简单的模板。 ///#include <bits/stdc++.h> #include<stdio.h> #inclu...

KXL5180的博客 279

poj 3481 Double Queue(SBT解法)

Double Queue Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5004   Accepted: 2336 Description

志当存高远 1523

Double Queue 【POJ - 3481】【SET】

题目链接 知道这道题可以用splay tree去做,但是先想到的肯定会是set的解法,然后再去考虑splay的做法,那么就先放上set的做法了。 #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> ...

既然弱小,就只顾变强就是了 319

Double Queue 【POJ - 3481】【Splay】

题目链接 这道题很多人会想到用set来解,当然是可以的,但是确实也可以写splay,因为可以用splay代替set来做到找到某个值,这里我们只需要找到最值问题去求解即可。然后我们对应的找到其与其父亲节点之间的关系,然后更新,就可以做到删除的操作了。 #include <iostream> #include <cstdio> #include <cmath&g...

既然弱小,就只顾变强就是了 332

[POJ3481]Double Queue

Problem 0 结束操作 1 K P 将一个数K以优先级P加入 2 取出优先级最高的那个数 3 取出优先级最低的那个数 Solution Splay模板题 Notice 是输出数而不是输出优先级。 Code #include<cmath> #include<cstdio> #include<cstring> #include<iostream...

Q882199的博客 214
上一篇: OpenJudge 4118: 开餐馆
下一篇: POJ 3669 Meteor Shower
coding_sun
博客等级 码龄10年 10粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值