Brief description:
… 动态维护一个数组 A[],支持以下两种操作
U a b: 单点修改,将 A[a] 替换成 b。(从 0 标号。。)Q a b: 区间询问,询问 [a, b] 区间的 LCIS (Longest Continuous Increase Subsequence, 最长连续递增子序列) 的长度。
Analysis:
struct Seg{
int ll, rr, ss;
} T[4*N];
...
void Update(int x, int l, int r){
T[x].ll = T[lx].ll, T[x].rr = T[rx].rr;
T[x].ss = max(T[lx].ss, T[rx].ss);
if (A[ml] < A[mr]){
if (T[x].ll == mr - l) T[x].ll += T[rx].ll;
if (T[x].rr == r - ml) T[x].rr += T[lx].rr;
checkMax(T[x].ss, T[lx].rr + T[rx].ll);
}
}
http://acm.hust.edu.cn/vjudge/contest/viewSource.action?id=3946299
External link:
…




Alca
Amber
Belleve Invis
Chensiting123
Edward_mj
Fotile96
Hlworld
Kuangbin
Liyaos
Lwins
LYPenny
Mato 完整版
Mikeni2006
Mzry
Nagatsuki
Neko13
Oneplus
Rukata
Seter
Sevenkplus
Sevenzero
Shirleycrow
Vfleaking
wangzhpp
Watashi
WJMZBMR
Wywcgs
XadillaX
Yangzhe
三途川玉子
About.me
Vijos
