题意:

给你下雨量,让你判断每一句话是否正确

题解:

线段树

用来维护判断

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int N=;
struct seg
{
int max;
}tree[N];
int n,m,x[N],y[N],sum[N];
void build(int rt,int L,int R)
{
if (L==R)
{
tree[rt].max=y[L];
return;
}
int mid=(L+R)>>;
build(rt<<,L,mid);
build((rt<<)+,mid+,R);
tree[rt].max=max(tree[rt<<].max,tree[(rt<<)+].max);
}
int query(int rt,int L,int R,int QL,int QR)
{
if (QL>R||QR<L) return -2e9;
if (QL<=L&&QR>=R) return tree[rt].max;
int mid=(L+R)>>;
return max(query(rt<<,L,mid,QL,QR),
query((rt<<)+,mid+,R,QL,QR));
}
int find(int X)
{
int L=,R=n,mid;
while (L<=R)
{
mid=(L+R)>>;
if (x[mid]==X) return mid;
if (x[mid]>X) R=mid-;
if (x[mid]<X) L=mid+;
}
return -;
}
int find_2(int X)
{
int L=,R=n,mid,res;
while (L<=R)
{
mid=(L+R)>>;
if (x[mid]>X) res=mid,R=mid-;
else L=mid+;
}
return res;
}
int find_3(int X)
{
int L=,R=n,mid,res;
while (L<=R)
{
mid=(L+R)>>;
if (x[mid]<X) res=mid,L=mid+;
else R=mid-;
}
return res;
}
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++) scanf("%d%d",&x[i],&y[i]);
build(,,n);
scanf("%d",&m);
for (int i=,x1,x2,bh1,bh2;i<=m;i++)
{
scanf("%d%d",&x1,&x2);
if (!(x1<x2))
{
puts("false");
continue;
}
bh1=find(x1),bh2=find(x2);
if (bh1==- && bh2==-)
{
puts("maybe");
continue;
}
if (bh2==-)
{
bh2=find_3(x2);
if (bh1+>bh2||query(,,n,bh1+,bh2)<y[bh1])
puts("maybe");
else puts("false");
continue;
}
if (bh1==-)
{
bh1=find_2(x1);
if (bh1>bh2-||query(,,n,bh1,bh2-)<y[bh2])puts("maybe");
else puts("false");
continue;
}
if (!(y[bh1]>=y[bh2]))
{
puts("false");
continue;
}
if (bh1+>bh2-||query(,,n,bh1+,bh2-)<y[bh2])
if (x2-x1==bh2-bh1)puts("true");
else puts("maybe");
else puts("false");
}
return ;
}

bzoj1067的更多相关文章

  1. [BZOJ1067][SCOI2007]降雨量

    [BZOJ1067][SCOI2007]降雨量 试题描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格 ...

  2. BZOJ1067 [SCOI2007]降雨量 线段树

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1067 题意概括 给定n组整数对(Xi,Yi),当Xi<Xj且Yi>=Yj时,如果对于任 ...

  3. 【BZOJ1067】[SCOI2007]降雨量 RMQ+特判

    [BZOJ1067][SCOI2007]降雨量 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年 ...

  4. bzoj1067 降雨量&&vijos1265 暴风雨

    描述 话说这日,李逍遥与阿奴正欲前往桃花源拿寿葫芦,突然电闪雷鸣,天降暴雨,弄得两人措手不及,只得到附近的树洞避雨. "哎,大理不是本应旱灾的吗?怎么会突降暴雨呢?"李逍遥嘀咕道. ...

  5. 【BZOJ1067】【POJ2637】降雨量

    1067: [SCOI2007]降雨量 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3004  Solved: 767[Submit][Status] ...

  6. BZOJ-1067 降雨量 线段树+分类讨论

    这道B题,刚的不行,各种碎点及其容易忽略,受不鸟了直接 1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 2859 ...

  7. [bzoj1067][SCOI2007]降雨量——线段树+乱搞

    题目大意 传送门 题解 我国古代有一句俗话. 骗分出奇迹,乱搞最神奇! 这句话在这道题上得到了鲜明的体现. 我的方法就是魔改版线段树,乱搞搞一下,首先借鉴了黄学长的建树方法,直接用一个节点维护年份的区 ...

  8. 【BZOJ1067】【SCOI2007】降雨量

    新人求助,降雨量那题,本机AC提交AC 原题: 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例 ...

  9. bzoj1067 降雨量

    Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003, ...

随机推荐

  1. Python开发【模块】:torndb

    Torndb模块 概要:torndb是一个轻量级的基于MySQLdb封装的一个模块,其是tornado框架的一部分.其项目主页为:https://github.com/bdarnell/torndb ...

  2. Python开发【模块】:sqlalchemy

    一.对象映射关系(ORM) orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却 ...

  3. mysql 数据操作 单表查询 limit 限制查询的记录数

    mysql; +----+-----------+------+-----+------------+---------+--------------+------------+--------+-- ...

  4. SpringBoot 集成Spring security

    Spring security作为一种安全框架,使用简单,能够很轻松的集成到springboot项目中,下面讲一下如何在SpringBoot中集成Spring Security.使用gradle项目管 ...

  5. Spark SQL与Hive on Spark的比较

    简要介绍了SparkSQL与Hive on Spark的区别与联系 一.关于Spark 简介 在Hadoop的整个生态系统中,Spark和MapReduce在同一个层级,即主要解决分布式计算框架的问题 ...

  6. C#字母转换成数字/数字转换成字母 - ASCII码转换

    字母转换成数字 byte[] array = new byte[1];   //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(strin ...

  7. Android 压力测试工具Monkey

    原文地址http://www.syhm52.com/tools/17.html 一.Monkey定义探索软件测试工具有哪些,本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试 ...

  8. EF Code First学习笔记:数据库创建(转)

    控制数据库的位置 默认情况下,数据库是创建在localhost\SQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayCo ...

  9. Python: 分数运算

    fractions 模块可以被用来执行包含分数的数学运算 >>> from fractions import Fraction >>> a = Fraction(5 ...

  10. 什么是ASCII码文本文件

    标准ASCII码方式(也称文本方式)存储的文件,更确切地说,英文.数字等字符存储的是ASCII码.文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车.换行等信息)外,不能存储其他任 ...