日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产午夜福利在线播放 | 日日操视频 | 欧美午夜网站 | 黄色一及毛片 | 欧美永久 | 国产高清不卡 | 日韩欧美视频在线播放 | 国产经典一区二区三区 | 边啃奶头边躁狠狠躁 | 不卡视频国产 | 97视频资源 | 日本在线视频不卡 | 久久人人爽人人爽人人片亚洲 | 日本一本在线视频 | 91精品国产aⅴ一区二区 | 视频在线 | 中文字幕在线看人 | 99久久久久久久 | 手机亚洲第一页 | 欧美草b| 一二三区免费视频 | 恶虐女帝安卓汉化版最新版本 | 一起操在线 | 黄色a级片在线观看 | 国内精品久久久久久久影视简单 | 欧美交| 日韩亚洲一区二区三区 | 韩国无码av片在线观看网站 | 国内精品久久久久 | 成人免费看片'在线观看 | 91免费观看入口 | 自拍三区| 僵尸艳谈 | 国产精品久久久久久久久动漫 | av九九九| www,久久久| 天天摸日日摸狠狠添 | 天天色天天草 | 婷婷丁香六月 | 国产理论av| 久插网 | 91日韩一区二区 | 91超碰国产在线 | 成人一区二区三区四区 | 99热.com| 色综合av在线 | 国产日韩欧美精品在线观看 | 久久精工是国产品牌吗 | 国产精品我不卡 | 欧美午夜剧场 | 精品视频一区二区三区四区 | 久久国产影院 | 少妇精品一区二区 | 高清视频在线免费观看 | 国产日韩视频 | 日日射天天干 | 精品一区二区在线免费观看 | 国产又粗又黄又爽又硬 | 日本aⅴ片| 丁香五色月 | 天天干天天操天天操 | 玖玖国产 | 国产精品免费av一区二区三区 | av片网址| 少妇高潮一区二区三区99刮毛 | 黄色网页免费在线观看 | 婷婷五月花 | 特级一级片 | 国产丝袜在线播放 | 欧美日批 | 欧美全黄 | 超碰女人 | 国产最新毛片 | 精品国产综合区久久久久久 | 免费欧美一级视频 | 在线观看一区二区三区视频 | 孕妇毛片 | 超碰日日夜夜 | 久草热线| 美国av一区二区 | 国产成人小视频在线观看 | 国产男男gay网站 | 色婷婷导航 | 日韩avxxx| 在线视频这里只有精品 | 日韩欧美国产高清91 | 古装做爰无遮挡三级 | 久久久久久久久久一区二区 | 免费av电影网站 | 国产亚洲视频在线观看 | av三级网站 | 欧美人妻少妇一区二区三区 | 亚洲视频你懂的 | www,久久久| 国产精品欧美久久久久久 | 国产精品一区2区 | 亚洲精品免费在线视频 | 欧美日韩亚洲在线 | 久久久久久久亚洲av无码 |