UVA - 10474
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=10000;
int main()
{int n,q,x,a[maxn],kase=0;while(scanf("%d%d",&n,&q)==2&&n){printf("CASE# %d:\n",++kase);for(int i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);while(q--){scanf("%d",&x);int p=lower_bound(a,a+n,x)-a;if(a[p]==x)printf("%d found at %d\n",x,p+1);else printf("%d not found\n",x);}}return 0;
}
这个题里面有一个stl函数 lower_bound,这个函数参数为(数组起始位置,数组终止位置,所需要寻找的数x)—数组名,
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置
举例如下:
一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标
则
pos = lower_bound( number, number + 8, 3) - number,pos = 0.即number数组的下标为0的位置。
pos = lower_bound( number, number + 8, 9) - number, pos = 1,即number数组的下标为1的位置(即10所在的位置)。
pos = lower_bound( number, number + 8, 111) - number, pos = 8,即number数组的下标为8的位置(但下标上限为7,所以返回最后一个元素的下一个元素)。
所以,要记住:函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置,且last的位置是越界的!!~
返回查找元素的第一个可安插位置,也就是“元素值>=查找值”的第一个元素的位置
UVA - 10474相关推荐
- 大理石在哪里?(Where is the Marble?,UVa 10474 )
大理石在哪里?(Where is the Marble?,UVa 10474 ) Raju and Meena love to play with Marbles. They have got a l ...
- 《算法竞赛入门经典》 例题5-1 大理石在哪(Where is the Marble,UVa 10474)
原题及翻译 Raju and Meena love to play with Marbles. 拉朱和米娜喜欢玩弹珠. They have got a lot of marbles with numb ...
- 大理石在哪儿 (Where is the Marble?,UVa 10474)
题目描述:算法竞赛入门经典例题5-1 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 ...
- UVA 10474 Where is the Marble
题目描述: Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written ...
- 很有趣的STL初学资料
1.泛型程序设计简介与迭代器的介绍 2.常见的STL容器及其例题应用(UVA10474,UVA101,UVA10815,UVA156,UVA540,UVA136 HDU1027,CF501B,HDU1 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- 初学者acm的练习题指南
上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1. <!--[endif]-->Programming Bas ...
- ICPC训练联盟2021寒假冬令营(7)_2021.01.26_笔记
文章目录 试题链接 学习笔记 - C++STL.贪心算法 C++STL 迭代器 STL算法 关联式容器 贪心算法 介绍 使用贪心法能否得到最优解,是必须加以证明的. 体验贪心法内涵的实验范例 贪心法的 ...
- [搜索]UVa 129 困难的串
题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...
最新文章
- 动真格!因为论文!138名研究生丧失学位申请资格,导师也被罚……
- linux改变工作目录命令,linux命令:cd命令,改变当前的工作目录
- DevExpress控件使用经验总结
- 数组长度属性以及JavaScript中的示例
- 内置函数补充 之 反射
- 金融matlab创建3x3数组,Matlatb金融时间序列工具箱——建立金融时间序列
- android四大组件小整
- Transact-SQL 存储过程(c#调用执行)
- Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化
- 利用VBB仿真——实现LCD+数字键盘的密码验证
- cocos2dx lua代码和图片资源加密和解密
- 【强化学习】强化学习介绍
- ubuntu20运行A-LOAM记录
- 华东师范大学副校长周傲英:未来,中国需要什么样的数据库?
- 最长递增子序列 java_最长递增子序列问题---动态规划
- 编程之旅-Day10
- 阿德莱德大学计算机专业学费,2020年阿德莱德大学计算机科学专业研究生申请条件及世界排名|学费介绍...
- 关于推送消息的简要分析
- 怎么在SAP MM库存管理中使用简单的货架管理功能
- 安卓手机Android文件夹下obb文件是什么,obb是什么文件?怎么使用obb文件夹