当前位置: 首页 > news >正文

机械加工网站哪里找从零开始学手机网站开发教程

机械加工网站哪里找,从零开始学手机网站开发教程,网络营销策划的目的,深圳外贸公司上班工资高吗文章目录 一、题目【深基16.例7】普通二叉树(简化版)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1基本思路: 一、题目 【深基16.例7】普通二叉树(简化版) 题目描述 您需要写一种数据结构,来维…

文章目录

  • 一、题目
  • 【深基16.例7】普通二叉树(简化版)
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
      • 基本思路:


一、题目

【深基16.例7】普通二叉树(简化版)

题目描述

您需要写一种数据结构,来维护一些数( 都是 1 0 9 10^9 109 以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数 q q q 不超过 1 0 4 10^4 104

  1. 查询 x x x 数的排名(排名定义为比当前数小的数的个数 + 1 +1 +1。若有多个相同的数,应输出最小的排名)。
  2. 查询排名为 x x x 的数。
  3. x x x 的前驱(前驱定义为小于 x x x,且最大的数)。若未找到则输出 − 2147483647 -2147483647 2147483647
  4. x x x 的后继(后继定义为大于 x x x,且最小的数)。若未找到则输出 2147483647 2147483647 2147483647
  5. 插入一个数 x x x

输入格式

第一行是一个整数 q q q,表示操作次数。

接下来 q q q 行,每行两个整数 o p , x op,x op,x,分别表示操作序号以及操作的参数 x x x

输出格式

输出有若干行。对于操作 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4,输出一个整数,表示该操作的结果。

样例 #1

样例输入 #1

7
5 1
5 3
5 5
1 3
2 2
3 3
4 3

样例输出 #1

2
3
1
5

基本思路:

  • 题目中提到了集合、而且是维护一些数的集合,我想到了STL中的set(底层是平衡树的一种),不过集合元素中右重复的元素,需要用到multiset,可以存放重复的元素并且时升序排序的。
  • 对于操作1,查询x的排名,应为set不支持随机访问,所以需要从头遍历一个一个数,需要注意的是”有多个相同的数,应输出最小的排名“,所以遍历到第一个等于x的数break即可。
  • 操作2,同1,遍历集合。
  • 操作3,再找前驱和后继之前需要初始化一下multiset ,给出一个边界。找x的前驱,用到了STL自带的二分查找lower_bound,返回第一个大于等于x的迭代器。
  • 操作4,使用upper_bound,返回第一个大于x的迭代器,取值后即是x的后继。
#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl "\n"
#define int long long
#define fi first
#define se second
#define lb lower_bound
#define ub upper_bound
#define gcd __gcd
#define repn(i,a,n) for(int i = a; i <= n; i++)
#define rep(i,a,n) for(int i = a; i < n; i++)
typedef pair<int,int> PII; 
const int N = 1000010;
multiset<int> s; 
const int INF = 2147483647;void solve(){int op,x;cin>>op>>x;if(op==1){//查询x数的排名int num=0;for(auto i:s)if(i<x) num++;//注意是<else break;cout<<num<<endl;}else if(op==2){//查询排名为x的数int num=-1;for(auto i:s){num++;if(num==x){cout<<i<<endl;break;}}}else if(op==3){//x的前驱cout<<*(--s.lb(x))<<endl;}else if(op==4){//x的后继cout<<*(s.ub(x))<<endl;}else{//将x插入集合s.insert(x);}}signed main(){IOS;int T=1;cin>>T;s.insert(INF),s.insert(-INF);while(T--){solve();}return 0;
}
http://www.yayakq.cn/news/106876/

相关文章:

  • 唯品会一家专门做特卖的网站手机版服务二级公司网站建设
  • 做网站页面需要的资料育儿网网站开发
  • 企业网站首页设计原则经验丰富的网站制作公司
  • 温州建设集团网站首页电子商务网站建设的目的是开展网络营销
  • 局政务网站建设管理工作总结卓训网是个什么网站
  • 怎么进行网站维护网站开发网站设计素材
  • dede 网站地图 调用文章希爱力双效片
  • 常熟做网站多少钱按广州网站排名推广
  • 网站开发的一次性收益做网站的外包公司有哪些
  • 购物网站后台管理模板教你如何建设网站阿里去
  • 企业网站建设案例高端网站设计报价表
  • 营销型网站建设必须的步骤包括学做吃的网站有哪些
  • 怎样找回网站备案密码错误外国网站手机dns
  • 山东省离线地图导航下载天津seo网站管理
  • 石家庄网站模板建站东莞房价为什么那么高
  • 昆明企业网站建设一条龙免费html5中文网站素材
  • 北京网站建设解决方案网页版梦幻西游伙伴搭配
  • 国外地图搜房网站建设专业团队简介
  • 看网站有没有做404海外网站推广的公司
  • 汕头网站专业制作朗朗上口的公司名称
  • 太仓做网站公司仿站工具箱
  • 怎么做淘宝链接网站网站域名绑定ip
  • 门类细分网站aws使用wordpress
  • 帮忙做宴会的网站wordpress 编辑器推荐
  • 如何做网站互链规则常州男科医院
  • 北京网站备案拍照地址鼓楼wordpress静态页没有标题
  • 那个网站直接回做二手发电机三五互联网站管理登录网址
  • 自己做的网站主页被人篡改wordpress代码学习
  • 龙溪营销型网站制作赵公口网站建设
  • 怎么给自己做个网站吗郑州有没有厉害的seo