学习内容:换根dp+线段树+多校
今日完成题数(不包含多校):6
多校补题情况(之前定的每支队伍标准):✔
今日看书情况:0页
学习算法的总结
无
今日做题总结
CF 1187E
换根dp 先选一个点为root 处理出size 和 题目所描述的dp值 然后我们再dfs换根 每次维护的值就是父节点先减去当前点的值 然后以当前点为根加上原父节点的值
POJ 3321
按dfs序建线段树orbit 然后按照dfs序维护答案即可 水
HDU 5306
题目三种操作 op==1 l~r区间的点更新为min(a[i],x)
op==2RMQ op==3区间和
维护区间最大值 次大 最大值个数 区间和
对于op==1 如果x>=Max[rt] 不会对区间有影响
x>=SecondMax[rt] 最大值发生改变我们直接通过之前维护的区间最大值个数和区间最大值 实现对sum的更新
x<SecondMax[rt] 继续递归
CF 438D 区间%和区间和 水
CF 915E 动态开点or离散化
CF 920F 区间更新约数个数 和 区间和 解法同 CF438D
HDU 6621 二分+线段树(区间元素排序)nlog^3 or 二分+主席树(明天写)nlog^2
今日心得:
线段树在维护区间膜和根号和约数等一系列问题时 我们可以加个区间最大值来剪枝