首先有个思想,就是逐层更新 然后考虑每次查询是查从某一点到根节点的树链上的信息,因此用树链剖分维护即可,处理每个点的对子树中节点的贡献可以区间修改(只需修改这一节点向上的树链即可),然后查询时区间查询,去掉不合法的部分即可 时间复杂度$O(nlog_{2}^{2}n)$,其实本题正解应当是$O(nl Read More
好神奇的数据结构呀... 首先我们考虑:暴力怎么做? 设状态$dp[j]$表示长度为$j$的序列最后一个数最小是几,如果$j$位置的限制区间为$[l,r]$,那么显然有转移: $dp[j]=l(dp[j-1]<l)$ $dp[j]=dp[j-1]+1(l\leq dp[j-1]\leq r-1)$ Read More