傳送門
題目大意
維護乙個序列,支援區間加,區間取$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月起,對全職和臨時女員工卵子冷凍過程和儲存過程...