链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1067

思路: 毒瘤题,写的自闭,改了一晚上,注意要理清题目的逻辑 x小于等于y,x,y之间的数严格小于x,不能等于;

分类讨论懒得写的,很简单的分类讨论。

实现代码:

#include<bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define mid int m = (l + r) >> 1
const int M = 1e5+;
const int inf = 0x3f3f3f3f;
int vis[M];
int num[M<<],sum[M<<],x1[M],x2[M],yy[M],y2[M],cnt,a[M<<];
void pushup(int rt){
sum[rt] = max(sum[rt<<],sum[rt<<|]);
num[rt] = num[rt<<] + num[rt<<|];
} void update(int p,int c,int l,int r,int rt){
if(l == r){
sum[rt] = c;
num[rt] = ;
return ;
}
mid;
if(p <= m) update(p,c,lson);
else update(p,c,rson);
pushup(rt);
} int query(int L,int R,int l,int r,int rt){
if(L <= l&&R >= r){
return sum[rt];
}
mid;
int ret = -inf;
if(L <= m) ret = max(ret,query(L,R,lson));
if(R > m) ret = max(ret,query(L,R,rson));
return ret;
} int ask(int L,int R,int l,int r,int rt){
if(L <= l&&R >= r){
return num[rt];
}
mid;
int ret = ;
if(L <= m) ret += ask(L,R,lson);
if(R > m) ret += ask(L,R,rson);
return ret;
} int main()
{
int n,x,y,m;
scanf("%d",&n);
int cnt = ;
for(int i = ;i <= n;i ++){
scanf("%d%d",&x1[i],&yy[i]);
a[++cnt] = x1[i];
}
scanf("%d",&m);
for(int i = ;i <= m;i ++){
scanf("%d%d",&x2[i],&y2[i]);
a[++cnt] = x2[i];
a[++cnt] = y2[i];
}
sort(a+,a++cnt);
int nn = unique(a+,a++cnt)-(a+);
for(int i = ;i <= n;i ++){
x = lower_bound(a+,a+nn+,x1[i]) - a;
vis[x] = yy[i];
update(x,yy[i],,nn,);
}
for(int i = ;i <= m;i ++){
x = lower_bound(a+,a+nn+,x2[i]) - a;
y = lower_bound(a+,a+nn+,y2[i]) - a;
if(x > y){
printf("false\n");
continue;
}
if(!vis[x]&&!vis[y]) printf("maybe\n");
else if(vis[x]&&vis[y]){
int cnt = query(x+,y-,,nn,);
int flag = ask(x,y,,nn,);
if(cnt<vis[y]&&vis[y]<=vis[x]){
if(flag == y2[i]-x2[i]+) printf("true\n");
else printf("maybe\n");
}
else printf("false\n");
}
else if(!vis[x]&&vis[y]){
int cnt = query(x,y-,,nn,);
if(cnt >= vis[y]) printf("false\n");
else printf("maybe\n");
}
else{
int cnt = query(x+,y,,nn,);
if(cnt >= vis[x]) printf("false\n");
else printf("maybe\n");
}
}
return ;
}

最新文章

  1. Xcode8不能使用快捷键“command+/”注释代码的解决方法
  2. java操作excel总结---poi
  3. C语言代码优化(转)
  4. KeilMDK4.7a下载地址/中文乱码解决/自动关联设置
  5. php静态属性和静态方法
  6. hdu 4497 GCD and LCM(2013 ACM-ICPC吉林通化全国邀请赛——题目重现)
  7. UVA 10739 String to Palindrome(dp)
  8. 移动端rem使用
  9. activemq的案例
  10. Python Django 2.2登录功能_2
  11. 阿里分布式服务框架Dubbo的架构总结
  12. Windows 平台下局域网劫持测试工具 – EvilFoca
  13. 用Windows命令行编译自己的c或者cpp以及一些操作
  14. java 调用windows的COM组件举例(使用JACOB)
  15. xlrd、xlwt 操作excel表格详解
  16. mysql中创建时间和更新时间的区别
  17. Servlet基本_セッション属性
  18. 27-java String 之间比较的幺蛾子
  19. 比较完整的PeopleSoft工具表名
  20. JAVA-开发IDE版本

热门文章

  1. Eclipse新建Maven工程——git篇
  2. H5 38-背景图片和插入图片区别
  3. poj3984 广度搜索BFS
  4. 用PhoneGap创建第一个项目
  5. beego 各种形式的路由实例
  6. IntelliJ IDEA/WebStrom破解及JDK配置
  7. JEECG 单点登录 SSO
  8. centos6 yum 安装memcached
  9. spring遇到的Error applying BeanValidation relational constraints
  10. js原生实现div渐入渐出