博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AC日记——忠诚 洛谷 P1816
阅读量:7031 次
发布时间:2019-06-28

本文共 1222 字,大约阅读时间需要 4 分钟。

题目描述

老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总是一次问多个问题。

输入输出格式

输入格式:

 

输入中第一行有两个数m,n表示有m(m<=100000)笔账,n表示有n个问题,n<=100000。

第二行为m个数,分别是账目的钱数

后面n行分别是n个问题,每行有2个数字说明开始结束的账目编号。

 

输出格式:

 

输出文件中为每个问题的答案。具体查看样例。

 

输入输出样例

输入样例#1:
10 31 2 3 4 5 6 7 8 9 102 73 91 10
输出样例#1:
2 3 1 思路:   裸线段树; 来,上代码:
#include 
using namespace std;class T_tree { public: int l,r,dis,mid; void mid_() { mid=(l+r)>>1; } void dis_() { scanf("%d",&dis); }};class T_tree tree[100000*4+1];int n,m;inline int min(int SOM,int SOM_){ if(SOM
tree[now].mid) return tree_query(now<<1|1,l,r); else if(r<=tree[now].mid) return tree_query(now<<1,l,r); else return min(tree_query(now<<1,l,tree[now].mid),tree_query(now<<1|1,tree[now].mid+1,r));}int main(){ scanf("%d%d",&n,&m); tree_build(1,1,n); int l,r; for(int i=1;i<=m;i++) { scanf("%d%d",&l,&r); printf("%d ",tree_query(1,l,r)); } return 0;}

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6227636.html

你可能感兴趣的文章
badboy使用手册
查看>>
React从0到1--组件向外传递数据
查看>>
hausaufgabe--python 12-List comprehensions
查看>>
哈哈更新资源列表2
查看>>
文本的四种编码方式
查看>>
Capitals of different countries
查看>>
sql server 2000数据库备份文件还原成sql server 2005 /2008
查看>>
哈希表及冲突的方法
查看>>
iOS开发UI篇—简单的浏览器查看程序
查看>>
iOS开发网络篇—搭建本地服务器
查看>>
window 安装redis、memcache的php扩展和 reidis 、memcache 及 reids管理软件
查看>>
JOSN转列格式(csv文件)
查看>>
役物,役于物
查看>>
远程桌面连接树莓派
查看>>
技术人员白手起家,创业路。
查看>>
回忆录
查看>>
QQ能上,网页打不开
查看>>
违章处理-违章查询
查看>>
Docker Hub.拉取镜像
查看>>
G.729 之固定编码
查看>>