没会的。。T1想了半天的主席树,然后发现,我要保证一个一次递增的顺序,然后什么玩意单调栈,也没细想
T2,读了半天才读懂题,一见期望就绝望。T3,不会推式子
T1
对倍增的深刻理解。。
维护f[i][0]表示i的第一个val大于i的点的编号,然后倍增处理,
关键是怎么处理f[x][0],对于当前的x,若val[fa]>val[x]很容易,另一种怎么找到祖先中第一个>val[x]的点?
j从20到0枚举,每次若val[f[x][j]]<=nw 那么就选择x=f[x][j],最后的f[x][0]就是答案
那么每次对于c的查询也是类似的操作
T2T3gugugug
扫描二维码关注公众号,回复:
7523072 查看本文章
![](/qrcode.jpg)