链接:https://www.nowcoder.com/acm/contest/214/F
来源:牛客网

clccle是个蒟蒻,她经常会在学校机房里刷题,也会被同校的dalao们虐,有一次,她想出了一个毒瘤数据结构,便兴冲冲的把题面打了出来,她觉得自己能5s内切掉就很棒了,结果evildoer过来一看,说:"这思博题不是1s就能切掉嘛",clccle觉得自己的信心得到了打击,你能帮她在1s中切掉这道水题嘛?

你需要写一个毒瘤(划掉)简单的数据结构,满足以下操作
1.插入一个数x(insert)
2.删除一个数x(delete)(如果有多个相同的数,则只删除一个)
3.查询一个数x的排名(若有多个相同的数,就输出最小的排名)
4.查询排名为x的数
5.求一个数x的前驱
6.求一个数x的后继

输入描述:

第一行,输入一个整数n,表示接下来需要输入n行接下来n行,输入 一个整数num和一个整数x

输出描述:

当num为3,4,5,6时,输出对应的答案

示例1

输入

复制

8
1 10
1 20
1 30
3 20
4 2
2 10
5 25
6 -1

输出

复制

2
20
20
20

这道题就是充分使用lower_bound()函数和upper_bound()函数。迭代器的使用也很重要。

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#define pi acos(-1)
#define For(i, a, b) for(int (i) = (a); (i) <= (b); (i) ++)
#define Bor(i, a, b) for(int (i) = (b); (i) >= (a); (i) --)
#define max(a,b) (((a)>(b))?(a):(b))
#define min(a,b) (((a)<(b))?(a):(b))
#define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
#define eps 1e-7
using namespace std;
typedef long long ll;
const int maxn = 100 + 10;
const int INF = 0x3f3f3f3f;
const double EPS = 1e-10;
const ll mod = 1e9 + 7;
inline int read(){int ret=0,f=0;char ch=getchar();while(ch>'9'||ch<'0') f^=ch=='-',ch=getchar();while(ch<='9'&&ch>='0') ret=ret*10+ch-'0',ch=getchar();return f?-ret:ret;
}
int n;
int main(){scanf("%d",&n);vector <int> q;vector <int> :: iterator it;while(n--){int num, x;scanf("%d%d",&num,&x);if(num == 1)q.insert(lower_bound(q.begin(), q.end(), x), x);else if(num == 2)q.erase(lower_bound(q.begin(), q.end(),x));else if(num == 3)printf("%d\n",lower_bound(q.begin(),q.end(),x)-q.begin() +1);else if(num == 4)printf("%d\n",q[x-1]);else if(num == 5){it = lower_bound(q.begin(),q.end(),x);printf("%d\n",*(--it));}else if(num == 6){it = upper_bound(q.begin(), q.end(),x);printf("%d\n",*it);}}return 0;
}

继续加油。

牛客小白月赛8 vector的使用相关推荐

  1. 牛客小白月赛16 小石的签到题(博弈)

    牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...

  2. F.孤独(牛客小白月赛39)

    F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...

  3. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)

    牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...

  4. 牛客小白月赛65个人题解A-E

    1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...

  5. 牛客小白月赛25 C.白魔法师

    牛客小白月赛25 C.白魔法师 题目链接 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 个点,每个点被染成了黑色或白色. 你可以释放一次魔法,将某个点染成白色.(该点不一定是黑色点,也可以 ...

  6. 牛客小白月赛60(A~C)题解

    原题地址:牛客小白月赛60_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 题目A:小竹与妈妈 题意:输出(x-b)/a即可,没什么好说 代码: #include< ...

  7. 牛客小白月赛2 H.武

    牛客小白月赛2 H.武 题目链接 题目描述 其次,Sεlιнα(Selina) 要进行体力比武竞赛. 在 Sεlιнα 所在的城市,有 NNN 个街区,编号为 1∼N1 \sim N1∼N,总共有 N ...

  8. 牛客小白月赛28 J.树上行走

    牛客小白月赛28 J.树上行走 题目链接 题目描述 牛牛苦练武功绝学--轻功水上漂,最终没有练成,但是他学会了在树上行走的本领. 这天,牛牛落入了敌人的陷阱,身后有巨石追击,面前有n个点,n-1条边连 ...

  9. 牛客小白月赛6 C.桃花

    牛客小白月赛6 C.桃花 题目链接 题目描述 桃花一簇开无主,可爱深红映浅红.--<题百叶桃花> 桃花长在桃树上,树的每个节点有一个桃花,调皮的HtBest想摘尽可能多的桃花.HtBest ...

最新文章

  1. Mybatis报错 元素内容必须由格式正确的字符数据或标记组成
  2. android 支付宝月账单 统计图_2019年你抢了多少微信红包?花了多少?(微信账单查看教程)...
  3. psid mysql_MySQL数据双向同步解决方案(推荐)
  4. align_center在JAVA_margin:0 auto与body{text-align:center;}实现元素居中的区别
  5. ic designer
  6. 我在腾讯做运维--快速玩转蓝鲸社区版6.0【直播公开课】
  7. 安装python3.7.0的步骤_CentOS7下简单安装python3.7.0步骤
  8. 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
  9. 建立管理SQL Server登录帐户
  10. 对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法
  11. 首发!《长安十二时辰背后的技术秘籍》正式公开,速来下载
  12. pytorch: 在训练中保存模型,加载模型
  13. 采用JAVASCRIPT实现全选的三种情况
  14. 清新淡雅水彩手绘花卉插画素材,psd分层好用!
  15. Eclipse之Android开发环境搭建
  16. paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
  17. zabbix配置方糖微信推送报警
  18. 经典:智能物联网大数据系统案例
  19. linux系统Nginx下limit_req模块burst参数超详细解析
  20. 闲聊机器人实例二:python实现小姜机器人(检索式chatbot_fuzzywuzzy)

热门文章

  1. html5怎么调用cur指针,鼠标指针.cur.ani导出与制作
  2. Samsara v2.0 高级技巧
  3. 2.3Linux常用命令
  4. Ubuntu18.04 WPS安装后,提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
  5. 利用AI+大数据的方式分析恶意样本(四十)
  6. 【RocketMQ】消息重试、重试次数设置、死信队列
  7. GitHub提交出错处理【2022年】
  8. 关于morden c++ design中的kdl问题(singleton)的解决
  9. 微信小程序实现直播间点赞飘心效果的示例代码
  10. 【C】39.程序中的三国天下