P1801 黑匣子_NOI導刊2010提高(06)

題目描述

Black Box是一種原始的數據庫。它可以儲存一個整數數組,還有一個特別的變量i。最開始的時候Black Box是空的.而i等于0。這個Black Box要處理一串命令。

命令只有兩種:

ADD(x):把x元素放進BlackBox;

GET:i加1,然后輸出Blackhox中第i小的數。

記住:第i小的數,就是Black Box里的數的按從小到大的順序排序后的第i個元素。例如:

我們來演示一下一個有11個命令的命令串。(如下圖所示)

現在要求找出對于給定的命令串的最好的處理方法。ADD和GET命令分別最多200000個。現在用兩個整數數組來表示命令串:

1.A(1),A(2),…A(M):一串將要被放進Black Box的元素。每個數都是絕對值不超過2000000000的整數,M$200000。例如上面的例子就是A=(3,1,一4,2,8,-1000,2)。

2.u(1),u(2),…u(N):表示第u(j)個元素被放進了Blaek Box里后就出現一個GET命令。例如上面的例子中u=(l,2,6,6)。輸入數據不用判錯。

輸入輸出格式

輸入格式:

?

第一行,兩個整數,M,N。

第二行,M個整數,表示A(l)

……A(M)。

第三行,N個整數,表示u(l)

…u(N)。

?

輸出格式:

?

輸出Black Box根據命令串所得出的輸出串,一個數字一行。

?

輸入輸出樣例

輸入樣例#1:
7 4
3 1 -4 2 8-1000 2
1 2 6 6
輸出樣例#1:
3
3
1
2

說明

對于30%的數據,M≤10000;

對于50%的數據,M≤100000:

對于100%的數據,M≤200000。

?

因為他讓著輸出第i小的數,那么前i小的數是多少是無關緊要的

我們可以把前i小的數放到一個大根堆里面,當大根堆的值大于i的時候我們可以把它后面的放到小跟堆里面,

這樣就保證了小根堆的第一個一定是第i小的,

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<queue>
 6 using namespace std;
 7 const int MAXN=200001;
 8 void read(int & n)
 9 {
10     char c='+';int x=0;bool flag=0;
11     while(c<'0'||c>'9')
12     {c=getchar();if(c=='-')flag=1;}
13     while(c>='0'&&c<='9')
14     {x=x*10+(c-48);c=getchar();}
15     flag==1?n=-x:n=x;
16 }
17 priority_queue<int,vector<int> ,greater<int> >q;
18 priority_queue< int >p;
19 int now=0;
20 int a[MAXN];
21 int b[MAXN];
22 int pre;
23 int ls[MAXN];
24 int num=0;
25 int main()
26 {
27     int n,m;
28     read(n);read(m);
29     for(int i=1;i<=n;i++)    read(a[i]);
30     for(int i=1;i<=m;i++)    read(b[i]);
31     pre=1;
32     for(int i=1;i<=n;i++)
33     {
34         p.push(a[i]);
35         if(p.size()>now)
36         {
37             q.push(p.top());
38             p.pop();
39         }
40         printf("%d***\n",q.size());
41         printf("%d+++\n",p.size());
42         while(i==b[pre])
43         {
44             printf("%d\n",q.top());
45             p.push(q.top());
46             q.pop();
47             pre++;
48             now++;
49         }
50     }
51     return 0;
52 }

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395281.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395281.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395281.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySql模糊查詢

常規like的使用限制&#xff1a; 1. like %keyword &#xff1a;索引失效&#xff0c;使用全表掃描。但可以通過翻轉函數like前模糊查詢建立翻轉函數索引走翻轉函數索引&#xff0c;不走全表掃描。 2. like keyword% &#xff1a;索引有效。 3. like %keyword% &#xff1a;索引…

python psycopg2使用_python?操作數據庫:psycopg2的使用

1 conn psycopg2.connect(database"testdb", user"postgres",password"cohondob", host"127.0.0.1", port"5432")這個API打開一個連接到PostgreSQL數據庫。如果成功打開數據庫時&#xff0c;它返回一個連接對象。2cursor c…

軟件測試人員棘手的問題,èí?t2aê?μ???ê??êìa£oè?o?±ü?a???′ìá??è±?Y...

¡¡¡¡£££©£¡££¡££££©©£¡¡¡¡¡BUG£££¢¡£££¡££¡£¡£——£…

機器學習實用指南_機器學習方法:實用指南

機器學習實用指南by Karlijn Willems通過Karlijn Willems 機器學習方法&#xff1a;實用指南 (How Machines Learn: A Practical Guide) You may have heard about machine learning from interesting applications like spam filtering, optical character recognition, and …

本地倉庫settings.xml中使用阿里的倉庫

背景 當前使用eclipse自帶的maven碰到兩個蛋疼的問題&#xff1a; maven在國內使用如果不進行FQ則會痛苦不堪如便秘。maven下載大量jar包導致某盤不夠用&#xff0c;需要換大的分區。因此為了解決這個問題就介紹兩個eclipse配置&#xff1a;maven本地路徑配置和maven外部路徑配…

day6_python之md5加密

#md5是不可逆的&#xff0c;就是沒有辦法解密的 Python內置哈希庫對字符串進行MD5加密的方法-hashlibimport hashlib def my_md5(s,salt): #用函數&#xff0c;為了提高代碼的復用率s ssalt #1.必須是字符串news str(s).encode() #2.字符串需要encode編碼后&#xff0…

異步服務_微服務全鏈路異步化實踐

1. 背景隨著公司業務的發展&#xff0c;核心服務流量越來越大&#xff0c;使用到的資源也越來越多。在微服務架構體系中&#xff0c;大部分的業務是基于Java 語言實現的&#xff0c;受限于Java 的線程實現&#xff0c;一個Java 線程映射到一個kernel 線程&#xff0c;造成了高并…

win7打開計算機死機,怎么樣解決Win7系統運行程序引起的死機問題

Win7系統不僅需要使用到電腦中自帶的一些程序&#xff0c;同時&#xff0c;也需要在win7旗艦版電腦中有選擇的自己去安裝一些程序。但是經常有用戶會碰到Win7電腦突然跳出運行程序未響應&#xff0c;出現電腦死機的情況&#xff0c;特別是開的瀏覽器窗口多的時候更是死機的頻繁…

(poj)1064 Cable master 二分+精度

題目鏈接&#xff1a;http://poj.org/problem?id1064 DescriptionInhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was decided…

PHP中如何解決高并發

PHP中如何解決高并發 1&#xff1a;硬件方面 普通的一個p4的服務器每天最多能支持大約10萬左右的IP&#xff0c;如果訪問量超過10W那么需要專用的服務器才能解決&#xff0c;如果硬件不給力 軟件怎么優化都是于事無補的。主要影響服務器的速度 有&#xff1a;網絡-硬盤讀寫速度…

es6 迭代器_揭秘ES6迭代器和迭代器

es6 迭代器by Tiago Lopes Ferreira由Tiago Lopes Ferreira 揭秘ES6迭代器和迭代器 (Demystifying ES6 Iterables & Iterators) ES6 introduces a new way to interact with JavaScript data structures — iteration. Let’s demystify it.ES6引入了一種與JavaScript數據…

JS之this與語句分號問題v(**V**)v

1 <script >2 //this知識 單詞知識&#xff1a;property&#xff1a;屬性 prototype&#xff1a;原型3 //*Q&#xff1a;什么是this&#xff1f;4 //*A&#xff1a;所有函數內部都有一個this&#xff0c;任何函數本質上都是通過某個對象來調用的&#xff0c;…

計算機聯系函范文,致客戶聯絡函

致客戶聯絡函 相關內容:收到貴支部所發的“函調證明”通知&#xff0c;很高興我校畢業生xxx同學能成為貴支部的黨員發展對象&#xff0c;現對其在我校上學其間的表現證明如下&#xff1a;xxx&#xff0c;女&#xff0c;xxx年7月28日生&#xff0c;團員&#xff0c;XX年8月——X…

c語言堆棧基本代碼入棧出棧_c語言的簡單的進棧出棧

這個代碼運行時只能輸入4個以內的數有輸出4個以上就沒有輸出了求大神看看#include#include#defineStack_Size50typedefstructSeqstack{intelem[Stack_Size];inttop...這個代碼運行時只能輸入4個以內的數有輸出 4個以上就沒有輸出了 求大神看看 #include #include #define Stack…

P1401 城市(30分,正解網絡流)

題目描述 N(2<n<200)個城市&#xff0c;M(1<m<40000)條無向邊&#xff0c;你要找T(1<T<200)條從城市1到城市N的路&#xff0c;使得最長的邊的長度最小&#xff0c;邊不能重復用。 輸入輸出格式 輸入格式&#xff1a; 第1行三個整數N,M,T用空格隔開。 第2行到…

sqlserver游標概念與實例全面解說

引言 我們先不講游標的什么概念&#xff0c;步驟及語法&#xff0c;先來看一個例子&#xff1a; 表一 OriginSalary 表二 AddSalary 現在有2張表&#xff0c;一張是OriginSalary表--工資表&#xff0c;有三個字段0_ID 員工…

為什么Docker對初創企業有意義

by Charly Vega查理維加(Charly Vega) 為什么Docker對初創企業有意義 (Why Docker makes sense for startups) Docker is becoming the standard to develop and run containerized applications.Docker正在成為開發和運行容器化應用程序的標準。 Long ago, this piece of te…

MyEclipse中Maven Web項目部署路徑設置

轉載于:https://www.cnblogs.com/langzichanglu/p/10336805.html

小米電視聯網后顯示無法解析小米電視服務器,小米電視連上無線不能上網怎么回事?教你解決辦法...

原標題&#xff1a;小米電視連上無線不能上網怎么回事&#xff1f;教你解決辦法互聯網電視憑借在線觀看影視劇這個獨有的優勢受到越來越多家庭的喜愛。特別是配置不俗的小米電視&#xff0c;然而隨之而來的的問題也讓很多用戶頭疼&#xff0c;比如家里的小米電視突然上不了網了…

配置Server Side TAF

實驗環境&#xff1a;Oracle 11.2.0.4 RAC1.為設置TAF在RAC集群上新建服務2.啟動server_taf服務3.檢查確認服務正在運行4.找到剛創建服務的service_id5.根據service_id審查服務的信息6.給服務添加server side failover參數7.再次審查服務可以看到Method, Type和Retries值8.檢查…