日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[POJ 1442]Black Box

發布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [POJ 1442]Black Box 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description
囧囧有個囧盒,可以處理一些很囧的事情。這個囧盒一開始是空的,可以處理2種操作:
Add(X):將元素X放入囧盒。
Get:第I次調用Get的時候,輸出囧盒里面第I小的數。下面是囧囧操作的一個例子:

N(按升序排列)操作Get調用次數囧盒的內容輸出
1ADD(3)03-
2GET133
3ADD(1)11,3-
4GET21,33
5ADD(-4)2-4,1,3-
6ADD(2)2-4,1,2,3-
7ADD(8)2-4,1,2,3,8-
8ADD(-1000)2-1000,-4,1,2,3,8-
9GET3-1000,-4,1,2,3,81
10GET4-1000,-4,1,2,3,82
11ADD(2)4-1000,-4,1,2,2,3,8-

LT看到囧囧這個囧盒很羨慕,他想搞個類似的家伙來,于是找到了你。

Input
第一行兩個數N,M(1<=N,M<=30000),分別表示ADD操作的個數和Get操作的個數。
第二行N個MaxLongint范圍內的整數,表示ADD操作順序插入的元素值。
第三行M個數(按非降序排列),表示M條Get命令的位置(位于第幾條ADD命令之后)

Output
M行,分別對應M條GET操作的輸出。(任意時刻Get次數不會超過當前Add次數)

Sample Input
7 4
3 1 -4 2 8 -1000 2
1 2 6 6

Sample Output
3
3
1
2


splay板子題,直接找第k大即可。兩個堆的寫法更快

#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define inf 0x7f7f7f7f using namespace std; typedef long long ll; typedef unsigned int ui; typedef unsigned long long ull; inline int read(){int x=0,f=1;char ch=getchar();for (;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1;for (;ch>='0'&&ch<='9';ch=getchar()) x=(x<<1)+(x<<3)+ch-'0';return x*f; } inline void print(int x){if (x>=10) print(x/10);putchar(x%10+'0'); } const int N=3e4; struct Splay{#define T(x) (tree[f[x]][1]==x)int tree[N+10][2],f[N+10],size[N+10],val[N+10];int root,len;void updata(int x){size[x]=size[tree[x][0]]+size[tree[x][1]]+1;}void move(int x){int fa=f[x],son=tree[x][T(x)^1];tree[x][T(x)^1]=fa;tree[fa][T(x)]=son;if (son) f[son]=fa;f[x]=f[fa];if (f[x]) tree[f[x]][T(fa)]=x;f[fa]=x;updata(fa),updata(x);}void splay(int x){while (f[x]){if (f[f[x]]) T(x)==T(f[x])?move(f[x]):move(x);move(x);}root=x;}void insert(int x){val[++len]=x;if (!root){size[root=len]=1;return;}int i=root;while (1){size[i]++;if (x<=val[i]){if (!tree[i][0]){f[tree[i][0]=len]=i;break;}i=tree[i][0];}else{if (!tree[i][1]){f[tree[i][1]=len]=i;break;}i=tree[i][1];}}splay(len);}int Get_pre(){int x=tree[root][0];while (tree[x][1]) x=tree[x][1];return x;}int find(int x,int i){if (size[tree[i][0]]+1==x) return i;if (x<=size[tree[i][0]]) return find(x,tree[i][0]);return find(x-size[tree[i][0]]-1,tree[i][1]);} }T; int A[N+10],Get[N+10]; int main(){int n=read(),m=read();for (int i=1;i<=n;i++) A[i]=read();for (int i=1;i<=m;i++) Get[read()]++;for (int i=1,k=0;i<=n;i++){T.insert(A[i]);while (Get[i]--) printf("%d\n",T.val[T.find(++k,T.root)]);}return 0; }

轉載于:https://www.cnblogs.com/Wolfycz/p/9478960.html

總結

以上是生活随笔為你收集整理的[POJ 1442]Black Box的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩精品免费 | av伦理在线 | 娇妻被肉到高潮流白浆 | 激情国产精品 | 国产午夜三级一区二区三 | 精品动漫一区二区三区在线观看 | 三级三级久久三级久久 | 免费在线观看网址 | 欧美丰满一区二区免费视频 | 超碰夜夜 | 国产91精品久久久 | 亚洲欧美日韩精品久久 | 欧美伊人 | 美女看片 | 欧美高清在线观看 | 无码人妻一区二区三区在线 | a级片久久 | 日产精品一区二区 | 亚欧中文字幕 | 7色av| av视屏在线 | 国产成人欧美 | 香蕉视频网页 | 稀缺呦国内精品呦 | 日韩三级一区二区三区 | 他趴在我两腿中间添得好爽在线看 | 日本新japanese乱熟 | 久久久欧美精品sm网站 | eeuss国产一区二区三区 | 中文自拍| 久久久久久久久久久久久久久久久久久久 | 波多野结衣在线免费观看视频 | 日韩一区二区三区免费视频 | 自拍偷拍视频在线 | 中文字幕在线有码 | a天堂v | 国产免费一区二区三区最新6 | 亚洲永久免费视频 | 亚洲欧洲中文字幕 | 久久久久久久9 | 91艹| 亚洲国产一二三区 | 西比尔在线观看完整视频高清 | 亚洲免费综合 | 亚洲一区免费在线观看 | 亚洲视频免费在线观看 | 第一区免费在线观看 | 成人精品在线视频 | 最近最新mv字幕观看 | 国产精品久久久精品三级 | 天天爽夜夜春 | 制中文字幕音影 | 韩日午夜在线资源一区二区 | 毛片精品 | 乳揉みま痴汉4在线播放 | 成人啪啪18免费游戏链接 | 男女高潮网站 | 91狠狠| 日韩中文字幕视频在线 | 成人在线观看一区二区 | 五月天激情婷婷 | 国产真实乱人偷精品视频 | 日韩少妇视频 | 日韩成人在线一区 | 欧美综合自拍亚洲综合图片区 | 深夜在线 | 软萌小仙自慰喷白浆 | 欧美成人精精品一区二区频 | 国产有码 | 精品国产黄色片 | 在线视频第一页 | 丰满少妇中文字幕 | 日韩 欧美 国产 综合 | 亚洲精品久久久久中文字幕二区 | jzzijzzij亚洲成熟少妇 | 污污内射久久一区二区欧美日韩 | 日韩av三区 | 亚洲精品99久久久久中文字幕 | 激情小说在线观看 | 老公吃小头头视频免费观看 | 欧美性猛交ⅹxx乱大交 | 中文字幕在线观看第一页 | 中国黄色免费 | 美女天天干| 瑟瑟在线视频 | 女人高潮娇喘1分47秒 | 老子影院午夜精品无码 | 国产精品久久久久无码av | 成 年人 黄 色 片 | 亚洲欧美一区二区三区在线观看 | 中文字幕有码在线播放 | 欧美视频在线观看免费 | 不卡中文一二三区 | 免费看片亚洲 | 亚洲一区美女 | 欧美亚洲不卡 | 久久一| 欧美日韩国产免费 | 色爽黄|