日韩性视频-久久久蜜桃-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视频| 国产伦理一区二区 | 亚洲精品一区二区三区四区乱码 | 日韩免费一级片 | 91精品入口 | 欧美激情在线免费 | 佐佐木明希电影 | 久久免费资源 | 无码精品一区二区三区AV | 亚洲啊啊 | 日韩爽片 | 一本到视频 | 自拍偷拍麻豆 | 爱情岛论坛亚洲品质自拍 | av噜噜在线 | 国精产品一区二区 | 男女啪啪av| 男人天堂成人网 | 国产视频首页 | 精品久久五月天 | 国产资源在线免费观看 | www.爱色av.com| 羞辱狗奴的句子有哪些 | 欧美日韩高清在线 | 精品免费一区二区三区 | 亚洲色图第1页 | 欧美一级二级视频 | 国产精品探花视频 | 337p亚洲欧洲色噜噜噜 | 都市激情 亚洲 | 日韩精品成人 | 性欧美大战久久久久久久免费观看 | 亚洲一级免费视频 | 在线欧美国产 | 亚洲区久久| 国产一区二区三区免费看 | 五月天国产在线 | 欧美亚洲精品在线观看 | 日韩欧美一区二区区 | 日韩一级影院 | 国产欧美啪啪 | 第四色在线视频 | 91老司机在线 | 国产精品日日做人人爱 | 国产亚洲精品久久久久久打不开 | 欧洲av无码放荡人妇网站 | 欧美一区二区免费视频 | 在线观看视频 | 久艹在线播放 | 日日综合 | 免费在线看黄网站 | 欧美人和黑人牲交网站上线 | 69天堂 | 欧美人与禽猛交乱配 | 亚洲天堂久久久久 | 日本aaa视频 | 黄频视频在线观看 | 欧美激情国产在线 | 国产淫片| 国产伦精品一区二区三区免费 | 女性女同性aⅴ免费观女性恋 | 欧美日韩123区 | 在线视频你懂得 | 高潮videossex高潮 | 欧美黄在线 | 久久99热这里只频精品6学生 | 欧美视频网站 | 日本少妇18p | 一区www| 亚洲女优在线 | 偷拍女澡堂一区二区三区 | 成人黄色一级片 | 日本国产视频 | 中文字幕有码无码人妻av蜜桃 | 2022精品国偷自产免费观看 | 69激情网| 久久99久久99精品免视看婷婷 | jizz日本大全 | 制服.丝袜.亚洲.中文.综合懂 | 成人网战 | 黄色片日韩 | 久久国产一区二区 | 国产日韩在线免费观看 | 99黄色片| 日韩电影第一页 | 人妻少妇偷人精品久久久任期 | 四川黄色一级片 | 青娱乐91 | 91在线资源 | 亚洲精品无码久久久久久久 | 国产色无码精品视频国产 | 91精品国产91久久久久久吃药 | 中文字幕资源在线 | 图书馆的女友动漫在线观看 | 欧美一级在线免费观看 | 欧美爱爱一区二区 | 精品天堂 | 男人激烈吮乳吃奶爽文 |