题目:[SCOI2007]降雨量

这题比较坑,分几种情况,但是可以总起来说,分开写,两个月份都没出现,maybe,否则如果两个月份都大于[l+1,r-1]的最大值,如果两个月份差值=r-l输出,true,否则maybe,否则false

代码:

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <unordered_map>
const int N = 5e4 + 5;
using namespace std;
int n, m, q, a[N], f[N][20], lg[N], e[N];
unordered_map <int,int> mp;
int ask(int l, int r)
{
if(l > r)
return 0;
int j = lg[r - l + 1];
if(a[f[l][j]] > a[f[r - (1<<j) +1][j]])
return f[l][j];
else
return f[r - (1<<j) + 1][j];
}
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
int x;
scanf("%d %d", &x, &a[i]);
mp[x] = i;
e[i] = x;
f[i][0] = i;
}
sort(e + 1, e + 1 + n);
m = unique(e + 1, e + 1 + n) - e - 1;
scanf("%d", &q);
for(int i = 2; i <= n; i++)
lg[i] = lg[i>>1] + 1;
for(int j = 1; (1<<j) <= n; j++)
for(int i = 1; i + (1<<j) - 1 <= n; i++)
{
if(a[f[i][j-1]]>a[f[i + (1<< (j-1))][j-1]])
f[i][j] = f[i][j-1];
else
f[i][j] = f[i + (1<< (j-1))][j-1];
}
while(q--)
{
int l = 0, r = 0, x, y;
scanf("%d %d", &x, &y);
if(x>y)
{
puts("false");
continue;
}
if(mp.count(x))
l = mp[x];
if(mp.count(y))
r = mp[y];
if(l == 0 && r == 0)
{
puts("maybe");
continue;
}
if(l == 0)
{
l = upper_bound(e + 1, e + 1 + n, x) - e;
int kk = ask(l, r - 1);
if(a[r] > a[kk])
puts("maybe");
else
puts("false");
continue;
}
if(r == 0)
{
r = lower_bound(e + 1, e + 1 + n, y) - e - 1;
int kk = ask(l + 1, r);
if(a[l] > a[kk])
puts("maybe");
else
puts("false");
continue;
}
int kk = ask(l + 1, r - 1);
if(a[l] < a[r] || a[r] <= a[kk] || a[l] <= a[kk])
puts("false");
else if(r - l == y - x)
puts("true");
else
puts("maybe");
}
return 0;
}

2022春每日一题:Day 21的更多相关文章

  1. <每日一题>题目21:简单的python练习题(21-30)

    #21.cookie和session的区别 ''' 1.cookie数据存放在客户的浏览器上,session数据存放在服务器上 2.cookie不是很安全,可以通过分析本地cookie组成伪造cook ...

  2. CISP/CISA 每日一题 21

    CISSP 每日一题(答)What is the term that identifies data ona disk after the data has supposedly been erase ...

  3. 老男孩IT教育-每日一题汇总

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...

  4. CISP/CISA 每日一题 九(2017-11-30 09:25)

    电子银行风险管理责任: 1.风险管理是董事会和高级管理层的责任 2.实施技术是信息技术高级管理层的责任 3.测量和监控风险是经营管理层的责任     管理层在实施一个新的电子银行应用程序之前要 ___ ...

  5. [每日一题]面试官问:for in和for of 的区别和原理?

    关注「松宝写代码」,精选好文,每日一题 ​时间永远是自己的 每分每秒也都是为自己的将来铺垫和增值 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一 ...

  6. 【JavaScript】【dp】Leetcode每日一题-解码方法

    [JavaScript]Leetcode每日一题-解码方法 [题目描述] 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -& ...

  7. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  8. 【Java每日一题】20170105

    20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  9. 【Java每日一题】20170104

    20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  10. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

随机推荐

  1. 第五十七篇:webpack打包发布

    好家伙,到了打包发布这一步了 1.配置打包命令: 在package.json 文件的 scripts 节点下,新增 build 命令如下: "scripts": { "d ...

  2. 第十三篇:axios网络通信

    好了这事一个非常艰巨的任务  解释以下的全部代码 <template> <div class="hello"> <p style="colo ...

  3. 可别小看了XSS漏洞

    可别小看了XSS漏洞 ​ 对于初了解xss漏洞的人来说,XSS漏洞的危害就是获取受害者的cookie,来进行 'cookie劫持'. ​ 今天就总结一下XSS漏洞的危害性,望安全人员不要轻视,开发人员 ...

  4. KingbaseES 约束

    目录 什么是约束 如何定义约束 列约束 表约束 为约束创建名称 默认约束名称 自定义约束名称 KingbaseES 的可用约束列表 CHECK约束 非空约束 UNIQUE约束 PRIMARY KEY约 ...

  5. Java SE 16 record 类型说明与使用

    Java SE 16 record 类型说明与使用 作者:Grey 原文地址: 博客园:Java SE 16 record 类型说明与使用 CSDN:Java SE 16 record 类型说明与使用 ...

  6. 3_JavaScript

    一. 介绍 JavaScript语言诞生主要是完成页面的数据验证, 因此它运行在客户端, 需要运行浏览器来解析执行JavaScript代码 JS是弱类型, Java是强类型 特点 交互性(它可以做的就 ...

  7. WPF开发经验-实现自带触控键盘的TextBox

    一 引入 项目有个新需求,当点击或触碰TextBox时,基于TextBox的相对位置,弹出一个自定义的Keyboard,如下图所示: 二 KeyboardControl 先实现一个自定义的Keyboa ...

  8. TDengine的数据建模?库、表、超级表是什么?怎么用?

    ​欢迎来到物联网的数据世界 在典型的物联网场景中,一般有多种不同类型的采集设备,采集多种不同的物理量,同一种采集设备类型,往往有多个设备分布在不同的地点,系统需对各种采集的数据汇总,进行计算和分析对于 ...

  9. MybatisPlus生成主键策略方法

    MybatisPlus生成主键策略方法 全局id生成策略[因为是全局id所以不推荐] SpringBoot集成Mybatis-Plus 在yaml配置文件中添加MP配置 mybatis-plus: g ...

  10. JetBrains Fleet初体验,如何运行一个java项目

    序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...