最近大概把有关二分的题目都看了一遍...

嗯..这题是二分查找...二分查找的代码都类似,所以打起来会水很多

但是刚开始打二分还是很容易写挂..所以依旧需要注意

题2 天堂的珍珠
【题目描述】
我有很多很多(n条)用魔法合成的珍珠项链……(其实神仙比凡人更爱美),每天起来我都要从中挑一条戴上……挑哪条很有讲究,如果比情敌**的难看,那么就会被**(-_-),如果比天后Hera的好看,那么就完蛋了(-_-)。所以我希望你能帮帮我,解决这个令人头疼的问题——每天帮我算算,那天我能戴的项链有多少条。
【输入文件】(pearl.in):
第一行为正整数n(项链总条数)。
第二行有n个整数(代表每条项链晶的好看程度Xi,<=Xi<=maxlongint。)
第三行为正整数m,表示总天数(也就是总询问次数)。
以下m行,每行两个整数Ai,Bi(<=Ai,Bi<=maxlongint),询问好看程度在Ai到Bi之间的项链条数(含等于Ai或Bi的,Ai与Bi大小关系不确定)。
【输出文件】(pearl.out):
输出m行,对于每次询问输出一行,从Ai到Bi(含Ai,Bi)好看程度在Ai到Bi之间的项链条数。
【输入样例1】: 【输出样例1】: 【数据规模】
对于25%数据,有m,n<=。
对于100%数据,有m,n<=。

pearl

#include<cstdio>
#include<algorithm>
using namespace std;
int a[100001],b[100001],s=0,p=0,n,mid;
int main(){
int i,j,t,m,x,y;
freopen("pearl.in","r",stdin);freopen("pearl.out","w",stdout); scanf("%d",&n);
for (int i=0;i<n;i++) scanf("%d",&a[i]);
sort(a,a+n);
scanf("%d",&m);
for (int i=0;i<m;i++){
int r=n-1,l=0;
scanf("%d%d",&x,&y);
if (x>y) {t=x;x=y;y=t;}
if (x<a[0]) x=a[0];if (y>a[n-1]) y=a[n-1];
while(l!=r){
mid=(l+r)>>1;
if(x>a[mid])l=l+1;
else r=mid;
}
if(a[l]<x) l=l+1;
s=l;
r=n-1,l=0;
while(l!=r){
mid=(l+r)>>1;
if(y>=a[mid])l=l+1;
else r=mid;
}
if(a[l]>y)l=l-1;
p=l;
if(s>p)b[i]=0;
else b[i]=p-s+1;
}
for(i=0;i<m;i++) printf("%d\n",b[i]);
return 0;
}

  表示调用sort简直爽

以及自己年轻了一下,以为cena不会这么傻缺输入的时候逗比了一下

还有自己的代码能力需要加强啦


哦。。之后看到了这题调用stl的方法...这里mark一下

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int v[100001],w[100001];
int main(){
int n,m,a,b;
freopen("pearl.in","r",stdin);freopen("pearl.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++) scanf("%d",&v[i]);
sort(v,v+n);
for(int i=0;i<m;i++){
scanf("%d%d",&a,&b);
w[i]=upper_bound(v,v+n,b)-lower_bound(v,v+n,a);
}
for (int i=0;i<m;i++) printf("%d\n",w[i]);
fclose(stdin);fclose(stdout);
return 0;
}

  

pearl(二分查找,stl)的更多相关文章

  1. [USACO09DEC]音符Music Notes (二分、STL)

    https://www.luogu.org/problem/P2969 题目描述 FJ is going to teach his cows how to play a song. The song ...

  2. 【转】STL之二分查找 (Binary search in STL)

    Section I正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range 本文是对Effective STL第4 ...

  3. STL之二分查找 (Binary search in STL)

    STL之二分查找 (Binary search in STL) Section I正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound ...

  4. STL 二分查找三兄弟(lower_bound(),upper_bound(),binary_search())

    一:起因 (1)STL中关于二分查找的函数有三个:lower_bound .upper_bound .binary_search  -- 这三个函数都运用于有序区间(当然这也是运用二分查找的前提),以 ...

  5. STL中的二分查找———lower_bound,upper_bound,binary_search

    关于STL中的排序和检索,排序一般用sort函数即可,今天来整理一下检索中常用的函数——lower_bound , upper_bound 和 binary_search . STL中关于二分查找的函 ...

  6. STL中的二分查找

    本文转载于https://blog.csdn.net/riba2534/article/details/69240450 使用的时候注意:必须用在非递减的区间中 二分查找的原理非常简单,但写出的代码中 ...

  7. C++ STL中的Binary search(二分查找)

    这篇博客转自爱国师哥,这里给出连接https://www.cnblogs.com/aiguona/p/7281856.html 一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返 ...

  8. STL模板整理 Binary search(二分查找)

    前言: 之前做题二分都是手动二分造轮子,用起来总是差强人意,后来看到STL才发现前辈们早就把轮子造好了,不得不说比自己手动实现好多了. 常用操作 1.头文件 #include <algorith ...

  9. STL中的二分查找——lower_bound 、upper_bound 、binary_search

    STL中的二分查找函数 1.lower_bound函数 在一个非递减序列的前闭后开区间[first,last)中.进行二分查找查找某一元素val.函数lower_bound()返回大于或等于val的第 ...

随机推荐

  1. DynamicReports

    try { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-disposition ...

  2. FloatyFish下载量

    老师之前没有统一好一个平台,为了公平起见,我们选择了知名度比较高的CSDN,上次课上给老师说的下载量已成为过去,我们目前的下载量是: 这里还有我们最真实的用户体验,来自CSDN的用户,而非我们的朋友: ...

  3. 带格式分离两个RichEditControl的文本

    using( RichEditControl selector = new RichEditControl() { RtfText = richTextFromHtml } ) { DocumentR ...

  4. Lucene.Net简介和分词

    Lucene.net站内搜索—2.Lucene.Net简介和分词 2015-03-24 23:10 by 邹琼俊, 118 阅读, 1 评论, 收藏, 编辑 Lucene.Net简介 Lucene.N ...

  5. springMVC 获取本地项目路径 及后整理上传文件的方法

    String path=request.getSession().getServletContext().getRealPath("upload/img/product"); // ...

  6. App根据第,HTML5流行?

    App根据第.HTML5流行? 引用新闻 日前,有消息称国家网信办近日将出台APP应用程序发展管理办法.中央网信办主任鲁炜在推进网络空间法治化座谈会上透露.我国将加强互联网立法,依靠严密的法律网来打造 ...

  7. SQL点滴35—SQL语句中的exists

    原文:SQL点滴35-SQL语句中的exists 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHE ...

  8. PHP 13: 类

    原文:PHP 13: 类 Notice: This article is working on progress!本章将介绍PHP类.现在,基本上每种语言都支持面向对象,当然PHP也不列外.PHP在以 ...

  9. 使用.net备份和还原数据库

    原文:使用.net备份和还原数据库 CSDN网友的提问http://community.csdn.net/Expert/TopicView3.asp?id=4929678C#实现SQLSERVER20 ...

  10. 基于C# 语言的两个html解析器

    基于C# 语言的两个html解析器 1)Html Agility Pack http://nsoup.codeplex.com/ 代码段示例: HtmlDocument doc = new HtmlD ...