Problem A Where is the Marble?(查找排序)
题目链接:Problem A
题意:有n块大理石,每个大理石上写着一个非负数,首先把数从小到大排序,接下来有Q个问题,每个问题是是否有某个大理石上写着x,如果有,则输出对应的大理石编号。
思路:先排序,然后实现查找某个数第一次出现的位置。
note:
头文件:#include <algorithm>
ForwardIter lower_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中第一个大于等于val的位置。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中第一个大于val的位置。
code:
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = ;
int main()
{
int n, m, x, cnt = ;
int a[MAXN];
while (scanf("%d %d", &n, &m), n + m)
{
for (int i = ; i < n; ++i) scanf("%d", a + i);
sort(a, a + n);
printf("CASE# %d:\n", ++cnt);
while (m--)
{
scanf("%d", &x);
int p = lower_bound(a, a + n, x) - a;
if (a[p] == x) printf("%d found at %d\n", x, p + );
else printf("%d not found\n", x);
}
}
return ;
}
Problem A Where is the Marble?(查找排序)的更多相关文章
- 第四篇、C_快速、冒泡、选择、插入排序、二分查找排序、归并、堆排序
1.快速排序 实现: 1.取中间一个数作为支点 2.分别在支点的左右两边进行查找,如果左边查找到比支点大,右边查找到比支点小,就交换位置,如此循环,比支点小的数就排在了左边,比支点大的就排在右边 3. ...
- 常见的排序算法(直接插入&选择排序&二分查找排序)
1.直接插入排序算法 源码: package com.DiYiZhang;/* 插入排序算法 * 如下进行的是插入,排序算法*/ public class InsertionSort { pub ...
- 20162311 编写Android程序测试查找排序算法
20162311 编写Android程序测试查找排序算法 一.设置图形界面 因为是测试查找和排序算法,所以先要有一个目标数组.为了得到一个目标数组,我设置一个EditText和一个Button来添加数 ...
- 【UVA - 10474 】Where is the Marble?(排序)
Where is the Marble? Descriptions: Raju and Meena love to play with Marbles. They have got a lot of ...
- MVC查找排序分页学习
2018-08-07 16:04:11 实现常用功能(Index.cshtml中) 1.查找 2.用户名排序(点击用户名) 3.分页功能(数据库MVCDemo可以添加用户) 源代码参考如下: 链接: ...
- Linux 文件大小查找排序
du -sh 文件大小查询: 1.当前目录的大小: du -sh | sort 2.当前 目录下的文件大小: ls -lsh 3.当前目录 下的文件大小排序: du -sh * |sort -n 4. ...
- 算法——查找排序相关面试题和leetcode使用
1.给两个字符串s和t,判断t是否为s的重新排列后组成的单词. s = "anagram", t = "nagaram", return true. s = & ...
- HDU 6326.Problem H. Monster Hunter-贪心(优先队列)+流水线排序+路径压缩、节点合并(并查集) (2018 Multi-University Training Contest 3 1008)
6326.Problem H. Monster Hunter 题意就是打怪兽,给定一棵 n 个点的树,除 1 外每个点有一只怪兽,打败它需要先消耗 ai点 HP,再恢复 bi点 HP.求从 1 号点出 ...
- 算法(1):查找&排序
算法(Algorithm):一个计算过程,解决问题的方法 程序 = 数据结构+算法 时间复杂度: 当算法过程中出现循环折半的时候,复杂度式子中会出现 O(logn) 时间复杂度小结: 1. 时间复杂度 ...
随机推荐
- android服务Service(上)- IntentService
Android学习笔记(五一):服务Service(上)- IntentService 对于需要长期运行,例如播放音乐.长期和服务器的连接,即使已不是屏幕当前的activity仍需要运行的情况,采用服 ...
- MFC对话框屏蔽Enter和ESC键
MFC对话框屏蔽Enter和ESC键参考:http://www.docin.com/p-122354833.html 方法一重载PreTranslateMessage函数 BOOL CXXDlg::P ...
- openNebulafrontEnd ComputeNode 配置记录
1,OpenNebula nfs(file system shared) for image datastore;
- 将图片文件以byte的形式从导数据库中
byte[] FileByteArray = new byte[FileLength]; //图象文件临时储存Byte数组 //Stream StreamObject ...
- IOS 技术层概览
IOS 技术层 Cocoa Touch 框架 ui 等 帮助开发者搭建程序 UIKit 它负责启动和关闭应用程序 控制界面和多点触摸事件,并让你能访问常见毒数据试图(比如网页以及word.execl文 ...
- IdeasToComeTrue
灵感这玩意,果真是有的吧.不考虑什么架构和盈利模式,就只是想到的有趣,随便写写,以飨流年. 我的头脑风暴:爱玩儿aiWaner 2015/08/22 换书: 每个人可能有很多闲置图书,自己看完了觉得好 ...
- HTML5 file api读取文件的MD5码工具
1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...
- 删除除了 id 号不同,其他都相同的学生冗余信息
删除除了 id 号不同,其他都相同的学生冗余信息2.学生表 如下:id 号 学号 姓名 课程编号 课程名称 分数1 2005001 张三 0001 数学 692 2005002 李四 0001 数学 ...
- Spring总结——控制反转,注入(配置和注解两种方式)
一.Spring的容器: 1.什么是控制反转:传统的方法,当某个java对象A需要调用对象B时,是由调用者(对象A)通过new关键字来创建对象B的(也可以说类A依赖类B),而在Spring中,则是由s ...
- css2实现尖角箭头式导航
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...