首页 > 代码库 > set使用实例1+lower_bound(val)(个人模版)
set使用实例1+lower_bound(val)(个人模版)
set使用实例1+lower_bound(val):
1 #include<stdio.h> 2 #include<set> 3 #include<iostream> 4 #include<algorithm> 5 #include<string.h> 6 #include<map> 7 using namespace std; 8 int main() 9 { 10 int n; 11 while(~scanf("%d",&n)) 12 { 13 map<int ,int>lson,rson; 14 set<int >s; 15 set<int >::iterator pos; 16 for(int i=0;i<n;i++) 17 { 18 int x; 19 scanf("%d",&x); 20 if(i==0) 21 { 22 s.insert(x); 23 continue; 24 } 25 pos=s.lower_bound(x); 26 if(pos!=s.end()&&lson[*pos]==0) 27 { 28 lson[*pos]=x; 29 } 30 else 31 { 32 pos--; 33 rson[*pos]=x; 34 } 35 printf("%d ",*pos); 36 s.insert(x); 37 } 38 printf("\n"); 39 } 40 }
set使用实例1+lower_bound(val)(个人模版)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。