题目链接

其实写线段树的题还是比较的令我开心的因为不用脑子

怎么判断这题是要写线段树的?

1.暴力只能拿50分

2.这题是个绿题

3 .看数据范围

#include <cstdio>
#include <iostream>
#define lson k << 1
#define rson k << 1 | 1
using namespace std;
const int N = ;
int n, m, c, minx, maxx;
bool flag;
struct node{
int l, r, minn, maxn, w;
}tr[N << ];
int read() {
int s = , w = ;
char ch = getchar();
while(!isdigit(ch)) {if(ch == '-') w = -;ch = getchar();}
while(isdigit(ch)) {s = s * + ch - '';ch = getchar();}
return s * w;
}
void build(int k, int ll, int rr) {
tr[k].l = ll, tr[k].r = rr;
if(ll == rr) {tr[k].w = read();tr[k].maxn = tr[k].minn = tr[k].w;return;}
int mid = (ll + rr) >> ;
build(lson, ll, mid);
build(rson, mid + , rr);
tr[k].minn = min(tr[lson].minn, tr[rson].minn);
tr[k].maxn = max(tr[lson].maxn, tr[rson].maxn);
}
void ask_query(int k, int x, int y) {
if(tr[k].l >= x && tr[k].r <= y) {minx = min(minx, tr[k].minn);maxx = max(maxx, tr[k].maxn);return;}
int mid = (tr[k].l + tr[k].r) >> ;
if(x <= mid) ask_query(lson, x, y);
if(y > mid) ask_query(rson, x, y);
}
int main() {
n = read(), m = read(), c = read();
build(, , n);
for(int i = ; i + m - <= n; i++) {
minx = 0x3f3f3f3f, maxx = -0x3f3f3f3f;
ask_query(, i, i + m - );
if(maxx - minx <= c)
printf("%d\n", i), flag = ;
}
if(!flag) printf("NONE\n");
return ;
}

谢谢收看,祝身体健康!

洛谷题解 P4392 【[BOI2007]Sound 静音问题】的更多相关文章

  1. P4392 [BOI2007]Sound 静音问题

    ---------------------- 链接:Miku ----------------------- 这道题本质上还是个st表,只要两个st表,然后对于每一个点,查询他开始的 长度为m的去年的 ...

  2. 洛谷 题解 UVA572 【油田 Oil Deposits】

    这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...

  3. 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)

    必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...

  4. 洛谷题解P4314CPU监控--线段树

    题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...

  5. 洛谷题解 CF777A 【Shell Game】

    同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后 ...

  6. 洛谷题解 CF807A 【Is it rated?】

    同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否 ...

  7. 洛谷题解 P1138 【第k小整数】

    蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...

  8. 【洛谷题解】P2303 [SDOi2012]Longge的问题

    题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\su ...

  9. 洛谷题解 P2865 【[USACO06NOV]路障Roadblocks】

    链接:https://www.luogu.org/problemnew/show/P2865 题目描述 Bessie has moved to a small farm and sometimes e ...

随机推荐

  1. 安卓 apk 嵌入H5页面只显示部分

    安卓 apk 嵌入H5页面只显示部分(有空白页出现) 解决方案 没有加载的是js部分,需要在安卓那边加上一串代码 webView.getSetting().setDomStorageEnabled(t ...

  2. [转帖]springboot+k8s+抛弃springcloud.eureka

    springboot+k8s+抛弃springcloud.eureka https://www.cnblogs.com/lori/p/12048743.html springboot开发微服务框架一般 ...

  3. 图解微信小程序---实现页面的跳转与返回操作

    图解微信小程序---实现页面的跳转与返回操作 代码笔记 操作步骤 第一步:在app.json配置文件中,创建跳转页面 第二步:编写首页跳转(注意跳转方式,和设置点击样式类名) 第三步:编写首页样式 第 ...

  4. 前端学习:JS学习总结(图解)

    前端学习:JS学习总结(图解) JS的代码笔记 JS比HTML和CSS的知识点要多的多,下面分几段来介绍其内容... 为了能让大家更好的检索,前面的图解是整个JS的概括,后面的才是知识点... 旁边就 ...

  5. 【03】Kubernets:K8S 操作入门

    写在前面的话 经过上一节,我们顺利将 K8S 集群搭建了起来,在其中我也简单的谈了一下关于 K8S 的网络.那么这一节我们主要谈谈如何来简单的使用 K8S 的命令.当然这些命令有很多,我们只是通过一个 ...

  6. 【LeetCode】145. Binary Tree Postorder Traversal

    Difficulty: Hard  More:[目录]LeetCode Java实现 Description https://leetcode.com/problems/binary-tree-pos ...

  7. 1-Consul系列文章

    使用Consul做服务发现的若干姿势 Consul的反熵 [Consul]Consul架构-简介

  8. 基于vue+springboot+docker网站搭建【七】制作后端spring-boot的docker镜像部署

    制作spring-boot的docker镜像并部署 一.下载后端项目:https://github.com/macrozheng/mall 二.修改mall-admin项目的配置文件 修改applic ...

  9. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  10. 安装MySQL-8.0.13

    安装1.去官网下载对应的MySQL版本http://downloads.mysql.com/archives/community/ 2.将下载下来的MySQL解压到你想要安装的目录下安装MySQL8. ...