week18-22 RMQ

week18参见week16 对修改和查询操作做了平衡;
看了下十佳 都拿暴力过了握草。。。???
那我还平衡啥。。。
week19加入了线段树
因为week18的数据量是104,week19到了106了。
它是减少了区间数因为RMQ是按照满二叉树遍历嘛
但是我T了个爽。。。
千万不要用cin啊啊啊!!!

#include<iostream>
#include<cmath>
#include<limits.h>
#include<stdio.h>
using namespace std;
#define MAXN 1000009
#define rson m+1,r,rt<<1|1
#define lson l,m,rt<<1
int w[MAXN],ans[4*MAXN];
void pushup(int rt)
{
    ans[rt]=min(ans[rt<<1],ans[rt<<1|1]);//取最小值
}
void build(int l,int r,int rt=1)
{
    if(l==r)
    {
        ans[rt]=w[l];
        return ;
    }
    int m=(l+r)>>1;
    build(lson);
    build(rson);
    pushup(rt);//用子节点计算父节点
}
int query(int L,int R,int l,int r,int rt=1)
{
    if(L<=l&&r<=R) return ans[rt];//如果查询区间与当前区间相同
    int m=(l+r)>>1,ret=INT_MAX;//分解询问区间
    if(L<=m) ret=min(query(L,R,lson),ret);
    if(m<R) ret=min(query(L,R,rson),ret);
    return ret;
}
void update(int L,int c,int l,int r,int rt=1)//最值的update
{
    if(L==l&&l==r)//到达更新位置
    {
        ans[rt]=c;
        return ;
    }//返回后再更新父节点
    int m=(l+r)>>1;
    if(L<=m) update(L,c,lson);
    else update(L,c,rson);
    pushup(rt);
}
int main()
{
    int i,n,m,op,x,y;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&w[i]);
    scanf("%d",&m);
    build(1,n);
    while(m--)
    {
        scanf("%d%d%d",&op,&x,&y);
        if(op==0) printf("%d\n",query(x,y,1,n));
        else update(x,y,1,n);
    }
    return 0;
}

week20线段树区间修改-加入懒惰
思路同上题。但是呢举个栗子 区间分解下来之后加lazy tag
查询时如果遭遇lazy tag再继续修改
然后这题数据太小暴力也能过就不看了
week21区间离散化预处理
我先去上课了回来就敲
week22回顾week20,解决懒惰标记的互相覆盖


Paste_Image.png

今天能把21和22敲出来就很感人了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • created by Dejavu(不断更新中) 概念 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条...
    ericdejavu阅读 1,133评论 0 0
  • 转自:http://www.cnblogs.com/TenosDoIt/p/3453089.html#b 一 概述...
    碧影江白阅读 1,542评论 1 2
  • 归去来兮。 1.1 说明 本篇为《挑战程序设计竞赛(第2版)》[http://www.ituring.com.cn...
    尤汐Yogy阅读 14,270评论 0 160
  • 在这里,所谓“可持久化”的数据结构并非指将数据存在非易失的存储器上,而是指保存了数据修改的历史信息。比如说对可持久...
    njzwj阅读 4,048评论 0 0
  • 最近又开始听朴树的平凡之路,看多了平凡这个词,就会想讨论一下平凡这件事。 我问过周围一些人这个问题,你觉得自己平凡...
    Jake阿北阅读 9,026评论 54 177