妙笔难书一纸愁肠,苍白的誓言,终究抵不过岁月的遗忘。

题目描述

我有很多(n条)珍珠项链,每天我都要从中挑一条戴上……挑哪条很有讲究,不能太难看也不能太好看。所以我希望你能帮帮我,解决这个问题――每天帮我算算,那天我能戴的项链有多少条。

输入

第1行为正整数n,表示项链的总条数(n≤100000);
第2行有n个整数(代表每条项链晶的好看程度Xi,0≤Xi≤maxlongint);
第3行为正整数m,表示总天数(也就是总询问次数,其中m≤100000);
以下m行,每行两个整数Ai,Bi(1≤Ai,Bi≤maxlongint),询问好看程度在Ai到Bi之间的项链条数(含等于Ai或Bi的,Ai与Bi大小关系不确定)。

输出

输出m行,对于每次询问输出一行,从Ai到Bi(含Ai,Bi)好看程度在Ai到Bi之间的项链条数。

样例输入

复制样例数据

7
8 2 3 5 6 7 7
6
1 5
8 6
1 10
5 5
4 4
7 8

样例输出

3
4
7
1
0
3
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
ll N,M,s[100010],mi,mx,jg;
struct node{int x;int y;
}p;
int sj(int x){int l=0,r=N+1,mid;while(l+1<r){mid=(l+r)/2;if(s[mid]>x)r=mid;elsel=mid;}return r;
}
int xj(int x){int l=0,r=N+1,mid;while(l+1<r){mid=(l+r)/2;if(s[mid]<x)l=mid;elser=mid;}return r;
}
int main(){scanf("%d",&N);for(int i=1;i<=N;i++)scanf("%d",&s[i]);sort(s+1,s+N+1);scanf("%d",&M);s[0]=-1;s[N+1]=s[N]+1;for(int i=1;i<=M;i++){scanf("%d%d",&p.x,&p.y);mx=max(p.x,p.y);mi=min(p.x,p.y);jg=sj(mx)-xj(mi);printf("%d\n",jg);}return 0;
}

问题 L: 【分治】珍珠项链相关推荐

  1. L (12). 珍珠项链

    我有很多(n条)珍珠项链,每天我都要从中挑一条戴上--挑哪条很有讲究,不能太难看也不能太好看.所以我希望你能帮帮我,解决这个问题――每天帮我算算,那天我能戴的项链有多少条. 输入描述 第1行为正整数n ...

  2. 【BZOJ 3636】教义问答手册 (分治+整体二分+dp)

    description "汉中沃野如关中,四五百里烟蒙蒙.黄云连天夏麦熟,水稻漠漠吹秋风."--摘自 黄裳<汉中行> "泉岭精神不朽,汉中诸球永生." ...

  3. Leetcode 部分题解

    算法思想 双指针 排序 快速选择 堆排序 桶排序 荷兰国旗问题 贪心思想 二分查找 分治 搜索 BFS DFS Backtracking 动态规划 斐波那契数列 矩阵路径 数组区间 分割整数 最长递增 ...

  4. 分治算法--L型骨牌棋盘覆盖

    L型骨牌棋盘覆盖 题目描述 有一个棋盘,要求用给定的四种骨牌进行覆盖.四种骨牌定义如下:   给定的棋盘中有一个格子不存在,即不需要覆盖的格子. 输入 输入有多个用例,第一个为用例个数n,接下来每个用 ...

  5. 2020-2021 ACM-ICPC, Asia Seoul Regional Contest L. Two Buildings (决策单调性 分治)

    linkkkkkk 题意: 给定长度为nnn的数组ccc,求max((j−i)∗(ci+cj))max((j-i)*(c_i+c_j))max((j−i)∗(ci​+cj​)) 思路: 将式子转化为m ...

  6. 分治算法的设计思想(二分检索、二分归并排序)

    分治策略思想: 将原问题划分或者归结为规模较小的子问题. 递归或迭代求解每一个问题. 将子问题的解综合得到原问题的解. 性质: 子问题与原问题具有相同的性质. 子问题的求解彼此独立. 划分时子问题的规 ...

  7. 【线段树分治 线性基】luoguP3733 [HAOI2017]八纵八横

    不知道为什么bzoj没有HAOI2017 题目描述 Anihc国有n个城市,这n个城市从1~n编号,1号城市为首都.城市间初始时有m条高速公路,每条高速公路都有一个非负整数的经济影响因子,每条高速公路 ...

  8. (2016北京集训十)【xsy1529】小Q与进位制 - 分治FFT

    题意很简单,就是求这个数... 其实场上我想出了分治fft的正解...然而不会打...然后打了个暴力fft挂了... 没啥好讲的,这题很恶心,卡常卡精度还爆int,要各种优化,有些dalao写的很复杂 ...

  9. bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治

    这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节.. 点分治:时空复杂度$O(n\log^2n)$,常数巨大 主要就是3个堆的初始状态 C堆:每个节点一个,为子树中的点到它父亲的距离的堆. B ...

最新文章

  1. 源码推荐:仿写映客直播 ,快速切换主题 ,星星评分控件,表格样式,可以横向移动的表格, 仿微信键盘-
  2. vue接入萤石云_智能家居不香吗?萤石转型:或者臣妾做不到,或者费力不讨好...
  3. php教程源码分享,php教程|php源码|php学习
  4. 程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理
  5. 【SpringBoot】使用Maven添加jQuery、bootstrap等依赖(WebJars)
  6. python排名上升_TIOBE:2019年7月全球编程语言排行 Python热度继续上升
  7. 生日小助手的详细规划——本博文随时更新,持续有效……
  8. Spring boot - 使用redis实现session共享
  9. 小米8吃鸡战斗服务器响应超时,小米8使用1天真实体验,看完再决定买不买?
  10. 阿里财报揭秘:阿里巴巴最忙的人这一年都干了啥
  11. Pytorch数据的读取与存储
  12. Redis过期删除策略
  13. 软考软件设计师本人成功备考经验分享
  14. 按键精灵自动过QQ滑块脚本 ,速度最快的源码库存!
  15. JS逆向加密——AES加密解密
  16. 报错解决:Lammps中lmp_mpi编译出错
  17. 对话区块方舟Warren:DAO和隐私赛道被低估了 |链捕手
  18. 图片缩略图,CMYK图片变红问题解决
  19. 惠普打印机、扫描仪二次开发、支持状态获取
  20. JS面向对象——OOP

热门文章

  1. Android Java小知识点集锦
  2. 浙江大学,最新任命!
  3. 算法训练营 重编码_编码训练营手册:沉浸式工程程序介绍
  4. 联想G50-75M 拆解(含视频链接),加内存加硬盘CPU加硅脂
  5. Java游戏里面的星球大战_星球大战手机游戏-JAVA程序算法
  6. USB标准协议下载地址
  7. REDIS13_缓存雪崩、缓存穿透、基于布隆过滤器解决缓存穿透的问题、缓存击穿、基于缓存击穿工作实际案例
  8. Windows下Docker启动Elasticsearch报max virtual memory areas vm.max_map_count [65530] is too low, increase
  9. 计算机简介、电脑常用快捷键、DOS命令、java环境搭建
  10. linux sdio驱动