【HPU】神奇的操作 【vector +二分 】
来源:互联网 发布:造纸术的影响 知乎 编辑:程序博客网 时间:2024/06/06 01:01
提交: 13 解决: 3 统计
题目描述
有Q次操作,分两类:
1 x —— 向集合(可能会有相同元素)里面插入元素x。
2 y —— 查询集合里面第y大的元素。
输入
第一行输入一个整数t,代表有t组测试数据(t <= 10)
每组数据第一行输出一个整数Q,代表操作次数。
保证:1 <= Q <= 100000,且所有元素均在int范围内。
输出
对出现的第二个操作输出一个整数,代表结果,如果集合里面元素个数小于y,输出-1。
样例输入
2
2
1 2
2 2
3
1 1
1 3
2 2
样例输出
-1
1
来源
Ocean
因为可能有重复元素,所以要用vector 不然就可以用set了
代码
#include<bits/stdc++.h>using namespace std;#define LL long longvector<int>V;vector<int>::iterator it;int main(){ int t;cin>>t; while(t--){ V.clear(); int q;cin>>q; while(q--){ int a,b; scanf("%d%d",&a,&b); if(a==1){ if(V.empty()) V.push_back(b); else { it=lower_bound(V.begin(),V.end(),b); if((it-V.begin())==V.size()) V.push_back(b); else V.insert(it,b); } }else { if(V.size()<b) puts("-1"); else printf("%d\n",V[V.size()-b]); } } } return 0;}/************************************************************** Problem: 1400 User: 311609000717 Language: C++ Result: 正确 Time:524 ms Memory:1820 kb****************************************************************/
阅读全文
0 0
- 【HPU】神奇的操作 【vector +二分 】
- 神奇的操作 [vector、二分]
- 【HPU】[1733]神奇的数字9
- 神奇的二分
- HPU 1458 (数状数组,利用的很神奇)
- 一道神奇的二分题
- hpu 2647 拓扑排序 + vector不定长数组的使用方法
- 【HPU】[1732]序列的区间操作
- vector的二分查找
- 神奇的数组操作
- HPU 1167 内部收益率 【二分】
- 【HPU 1193 Interval】+ 二分 + 思维
- 神奇的位操作符
- 网络流的神奇操作
- 【hpuoj 1400 神奇的操作 】
- 【HPU OJ 1310 】序列的区间操作 【思维】
- vector对象的操作
- vector操作的习题
- NLP︱高级词向量表达(二)——FastText(简述、学习笔记)
- 2017 Multi-University Training Contest
- C语言——依据行数循环左移数据
- IDEA 上 使用Junit+Coverage(覆盖率)报错
- webpack(二)
- 【HPU】神奇的操作 【vector +二分 】
- QLineEdit将数字转化为字符串,对单个字符的修改
- Android Hawk的源码解析,一款基于SharedPreferences的存储框架
- 排序之快速排序
- android 定位 获取地理位置 百度地图
- hibernate表结构三种继承关系
- HDU 6053 TrickGCD
- The Frog's Games
- 欢迎使用CSDN-markdown编辑器