bzoj1012(線段樹模板題)

2021-08-29 09:56:00 字數 937 閱讀 6923

題目讀了三遍才讀懂,對於蒟蒻來說,看上去很難得樣子,實際就是線段樹的單點更新,然後求區間最值,無奈之前還想著怎麼建樹插進去。。結果re n次,感覺自己水的一匹,唉~

做題效率極低。。。。

真是被自己蠢哭了

#include#include#include#include#include#pragma warning  (disable :4996);

#define ll long long

using namespace std;

ll n=200000, m;

ll t[2000005 ];

ll maxx = 0;

ll max1 = 0;

void build(ll l, ll r, ll rt)

void update(ll l, ll r, ll rt, ll k, ll val)

ll mid = (l + r) >> 1;

if (mid >= k)update(l, mid, rt << 1, k, val);

else update(mid + 1, r, rt << 1 | 1, k, val);

t[rt] = max(t[rt << 1], t[rt << 1 | 1]);

}//查詢

void query(ll l, ll r, ll rt,ll l,ll r)

ll mid = (l + r) >> 1;

if (mid >= l)query(l, mid, rt << 1, l, r);

if (mid < r)query(mid + 1, r, rt << 1 | 1, l, r);

return;

}int main()

else if (x[0] == 'q')

} return 0;

}

bzoj 1012 簡單的線段樹

time limit 3 sec memory limit 162 mb submit 4273 solved 1918 submit status 現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過...

BZOJ 1012之線段樹解法

根據題意,很容易想到線段樹,單點修改,區間查詢,線段樹的模板大家都有,所以就不再做過多解釋。不過有一點值得一提,在我做這道題的時候使用了cin和cout,後來隊友告訴我,bzoj使用了o2優化,使用cin和cout可能會報錯,果然,我改了cin和cout之後就沒有問題了。include includ...

BZOJ 1012 線段樹 單調佇列

非常裸的線段樹 單調佇列 假設乙個節點在佇列中既沒有時間優勢 早點入隊 也沒有值優勢 值更大 那麼顯然不管在如何的情況下都不會被選為最大值。既然它僅僅在末尾選。那麼自然能夠滿足以上的條件。線段樹 include stdio.h include string.h struct node data 80...