bzoj1067
题意:
给你下雨量,让你判断每一句话是否正确
题解:
线段树
用来维护判断
代码:
#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的更多相关文章
- [BZOJ1067][SCOI2007]降雨量
[BZOJ1067][SCOI2007]降雨量 试题描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格 ...
- BZOJ1067 [SCOI2007]降雨量 线段树
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1067 题意概括 给定n组整数对(Xi,Yi),当Xi<Xj且Yi>=Yj时,如果对于任 ...
- 【BZOJ1067】[SCOI2007]降雨量 RMQ+特判
[BZOJ1067][SCOI2007]降雨量 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年 ...
- bzoj1067 降雨量&&vijos1265 暴风雨
描述 话说这日,李逍遥与阿奴正欲前往桃花源拿寿葫芦,突然电闪雷鸣,天降暴雨,弄得两人措手不及,只得到附近的树洞避雨. "哎,大理不是本应旱灾的吗?怎么会突降暴雨呢?"李逍遥嘀咕道. ...
- 【BZOJ1067】【POJ2637】降雨量
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3004 Solved: 767[Submit][Status] ...
- BZOJ-1067 降雨量 线段树+分类讨论
这道B题,刚的不行,各种碎点及其容易忽略,受不鸟了直接 1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 2859 ...
- [bzoj1067][SCOI2007]降雨量——线段树+乱搞
题目大意 传送门 题解 我国古代有一句俗话. 骗分出奇迹,乱搞最神奇! 这句话在这道题上得到了鲜明的体现. 我的方法就是魔改版线段树,乱搞搞一下,首先借鉴了黄学长的建树方法,直接用一个节点维护年份的区 ...
- 【BZOJ1067】【SCOI2007】降雨量
新人求助,降雨量那题,本机AC提交AC 原题: 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例 ...
- bzoj1067 降雨量
Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003, ...
随机推荐
- Farthest Nodes in a Tree ---LightOj1094(树的直径)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1094 Given a tree (a connected graph with no ...
- mysql 表的增删改查 修改表结构
四.修改表结构 语法: . 修改表名 ALTER TABLE 表名 RENAME 新表名; . 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 ...
- Teigha.net读写dwg文件显示
官网:http://www.opendesign.com/ http://www.cnblogs.com/zhanglibo0626/archive/2011/11/04/2236238.html 下 ...
- centos7 安装python3.6 及模块安装演示
目录: 下载python3.6 安装python3.6的依赖 编译安装 更改链接 更改yum脚本的python依赖 修改gnome-weaktool配置文件 修改urlgrabber配置文件 1.下载 ...
- Flask系列之源码分析(二)
应用技术点 python之__setattr__ python之threading.local python之偏函数 flask源码上下文管理 1.综述过程 将请求对象压入栈 1.请求进入 __cal ...
- 【PGM】Representation--Knowledge Engineering,不同的模型表示,变量的类型,structure & parameters
Part 1. 重要的区别: Template based vs. specific Directed vs. undirected Generative vs. discrimina ...
- docker——libnetwork插件网络功能
从1.7.0版本开始,Docker正是把网络和存储这两部分的功能都以插件化形式剥离出来,允许用户通过指令来选择不同的后端实现.剥离出来的独立容器网络项目叫libnetwork,从名字就能看出,它希望将 ...
- JavaScript进阶内容笔记1:各种对象类型判断
该文章主要用来介绍JavaScript中常用的一些对象检测判断方法,整理资源来自书本和网络,如有错误或说明不详之处,望评论提出,本菜定提名感谢……(本文章知识比较基础,大牛请提些意见再绕道,三克油^_ ...
- Python3.x:requests的用法
Python3.x:requests的用法 1,requests 比 urllib.request 容错能力更强: 2,通常用法: (1).认证.状态码.header.编码.json r = requ ...
- VS中子对话框的关闭回调函数
新建了QDialog的子类时,如果需要回调它的关闭函数 1.加入头文件#include <QCloseEvent> 2.重写函数 protected: void closeEvent(QC ...