TYVJ1038 忠诚

时间:2023-01-26 08:53:05

hzw学长博客里的2048,根本停不下来!

描述

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

输入格式

输入中第一行有两个数m,n表示有m(m<=100000)笔账,n表示有n个问题,n<=100000。
第二行为m个数,分别是账目的钱数
后面n行分别是n个问题,每行有2个数字说明开始结束的账目编号。

输出格式

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

测试样例1

输入

10 3

1 2 3 4 5 6 7 8 9 10

2 7

3 9

1 10

输出

2 3 1

裸线段树维护最小值。连线段树的完全体都不用写

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define ls l,mid,rt<<1
#define rs mid+1,r,(rt<<1)|1
using namespace std;
const int mxn=;
const int inf=;
int mini[mxn*];
int data[mxn];
int n,m;
void Build(int l,int r,int rt){
if(l==r){
mini[rt]=data[l];
return;
}
int mid=(l+r)>>;
Build(ls);
Build(rs);
mini[rt]=min(mini[rt<<],mini[rt<< |]);
return;
}
int query(int L,int R,int l,int r,int rt){
if(L<=l && r<=R)return mini[rt];
int mid=(l+r)>>;
int ans=inf;
if(L<=mid)ans=min(ans,query(L,R,ls));
if(R>mid)ans=min(ans,query(L,R,rs));
return ans;
}
int main(){
scanf("%d%d",&n,&m);
int i,j; for(i=;i<=n;i++){
scanf("%d",&data[i]);
} Build(,n,);
int x,y;
for(i=;i<=m;i++){
scanf("%d%d",&x,&y);
printf("%d ",query(x,y,,n,));
}
return ;
}

TYVJ1038 忠诚的更多相关文章

  1. Tyvj1038 忠诚 &lpar;线段树)

    [Tyvj1038]忠诚 线段树   题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是 ...

  2. tyvj1038忠诚

    描述 Description 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨, ...

  3. 【原创】tyvj1038 忠诚 &amp&semi; 计蒜客 管家的忠诚 &amp&semi; 线段树&lpar;单点更新,区间查询&rpar;

    最简单的线段树之一,中文题目,不翻译.... 注释讲的比较少,这已经是最简单的线段树,如果看不懂真的说明最基础的理论没明白 推荐一篇文章http://www.cnblogs.com/liwenchi/ ...

  4. 【Tyvj1038】忠诚 线段树

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

  5. AC日记——忠诚 洛谷 P1816

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

  6. TYVJ P1038&sol;P1039 忠诚 标签:线段树

    做题记录:2016-08-12 16:30:14 //P1038 描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家 ...

  7. RMQ——忠诚题解

    题目:忠诚 描述: [题目描述] 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满 意.但是由于一些人的 ...

  8. tyvj1039忠诚2

    描述 Description 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨, ...

  9. TYVJ P1039 【忠诚2】

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

随机推荐

  1. &lbrack;总结&rsqb; JDBC数据库操作

    1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...

  2. dotproject 2&period;1&period;8 甘特图中文乱码解决

    1.安装中文语言包 下载地址为http://www.dotproject.net/dpDownloads/Language_Packs/Chinese_Simplified_(GBK)/dotproj ...

  3. Ubuntu 15&period;04 安装 Nvidia Quadro系列显卡驱动

    在这之前,我用的Ubuntu都是系统自带的驱动, 由于分辨率没有任何问题, 所以一直没有安装Nvidia官方的驱动; 近期更新到 15.04 之后, 在播放avi 格式的常规视频时却出现闪烁的现象, ...

  4. sql模糊查询

    SQL 模糊查询 在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: ...

  5. &num;&num;&num;学习《C&plus;&plus; Primer》- 4

    点击查看Evernote原文. #@author: gr #@date: 2014-10-16 #@email: forgerui@gmail.com Part 4: STL关联容器(第11章) 一. ...

  6. Linux学习之CentOS&lpar;十九&rpar;------linux 下压缩与解压之 tar、gzip、bzip2、zip、rar

    将文件存储到归档文件中或者从归档文件中获取原始文件,以及为文件创建归档文件 tar [option] [modifiers] [file-list] 参数 file-list是tar进行归档和提取的文 ...

  7. 鼠标拖动DOM

    自己收藏,使用angualrjs的directive些的鼠标拖动DOM.... <!DOCTYPE html> <html lang="en"> <h ...

  8. WebClient图片下载

    使用WebClient下载文件非常方便,针对有部分网站通过请求头的Referer,做了图片防盗链,可以在webClient加上Referer 来模拟请求 string basePath = Path. ...

  9. DevExpress GridControl List绑定方式下新增行的方法

    List<Person> gridDataList = new List<Person>(); //此处是数据源 List集合 BindingList<Person&gt ...

  10. Innodb引擎状态查看

    我们的MySQL数据库内的表一般都是Innodb表类型的. mysql>show engine  innodb status; (低版本用: show innodb status;)   === ...