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
