BZOJ4695 最假女選手

2022-05-03 18:36:07 字數 1112 閱讀 8612

傳送門

題目大意

維護乙個序列,支援區間加,區間取$max,min$,區間求和,區間求最大最小值。

題解區間取$max,min$必然要用到神奇的吉老師線段樹,即維護區間最大值、最大值數量,次大值來剪枝。

即,當取$min$介於最大值和次大值之間時進行修改,否則暴力遞迴子樹。

區間取$max$同理。

這道題還要套上區間加和區間求和,所以$pushdown$的時候還是比較麻煩的,注意要特殊處理最大值等於最小值或最大值等於嚴格次小值的情況。

複雜度據說是$o(n\log^2n)$吧,反正我不會證,

然而實際上跑的很快,雖然我的**t掉了嚶嚶嚶

#include#include#include#include#include#define ll long long

#define mid ((l+r)>>1)

#define m 800010

#define inf 2000000000

using namespace std;

int read()

void write(ll x)

ll p[m<<1],ans;

int tg[m<<1],mx[m<<1],mn[m<<1],sx[m<<1],sn[m<<1],a[m],cx[m<<1],cn[m<<1];

int n,m,t,l[m<<1],r[m<<1],cnt,u[m],v[m],dt[m],t[m],rt;

inline void pushup(int x)

inline void inc(int x,ll len,int dt)

inline void upmin(int num,int y)

inline void upmax(int num,int y)

inline void pushdown(int x,int l,int r)

void build(int &x,int l,int r)

build(l[x],l,mid),build(r[x],mid+1,r),pushup(x);

}ll qry(int x,int l,int r,int ls,int rs,int typ)

return 0;

}

BZOJ4695 最假女選手

區間最值操作和歷史最值問題 題目傳送門 吉司機線段樹板子大集合。所有資訊都封裝在乙個結構體裡會比開多個陣列快14秒。注意暴力 dfs 子樹時要 pushdown 時間複雜度 o nlog 2n 空間複雜度 o n 如下 include include using namespace std type...

bzoj4695 最假女選手 吉利線段樹

給出長為n 5e5 的序列,要求支援區間加 區間取min max 區間求和 區間求min max。我 好久好久以前 就想學這個科技 o nlog 2n o n log2 n 的segme nttr eebe ats se gmen ttre ebea ts 區間取min max時,對於被包含的區間,...

誰家公司福利最奇葩?男員工也有「姨媽假」

據外媒報道,蘋果和facebook將報銷女員工的冷凍料卵子費用,直呼這個福利 太奇葩 事實上,科技公司諸如此類讓人羨慕又大跌眼鏡的福利還有很多,失戀補貼 男女同時享受 姨媽假 今天我們就來看一下公司福利到底能有多奇葩。蘋果 報銷女員工冷凍卵子費 從明年1月起,對全職和臨時女員工卵子冷凍過程和儲存過程...