智乃酱最近在学习势能线段树 对于势能线段树,假设线段树的节点数为N{N}N,操作数目为M{M}M, 则势能线段树则总时间复杂度为O(M×∣0势能时线段树操作时间复杂度∣+N×∣节点势能上限降低至0势能时间复杂度∣){O(M times |0势能时线段树操作时间复杂度|+Ntimes |节点势能上限降低至0势能时间复杂度|)}O(M×∣0势能时线段树操作时间复杂度∣+N×∣节点势能上
智乃酱最近在学习势能线段树 对于势能线段树,假设线段树的节点数为N{N}N,操作数目为M{M}M。 则势能线段树则总时间复杂度为O(M×∣0势能时线段树操作时间复杂度∣+N×∣节点势能上限降低至0势能时间复杂度∣){O(M times |0势能时线段树操作时间复杂度|+Ntimes |节点势能上限降低至0势能时间复杂度|)}O(M×∣0势能时线段树操作时间复杂度∣+N×∣节点势能上限降低至0势能时间复杂度∣)。 使用势能线段树时要定义势能、势能初始值(势能最大值)、0势能点。 本题中有两种可以定义势能与0势能的方法,你可以都尝试一下。 定义区间开根次数cnt为势能,势能初始值为势能上限=6,定义0势能点为cnt=0。 定义区间最大值max为势能,势能初始值为区间最大值,定义0势能点为max=1。 -------------------------------------------------------------------------------------------------------------------------- 给你一个长度大小为N{N}N的正整数数组,进行M{M}M次操作,操作有下列两种。 给定区间[l,r]{[l,r]}[l,r]对区间中所有数字开根号向下取整,即ai=⌊ai⌋(l≤i≤r)a_i= lfloor sqrt{a_i} rfloor(l leq i leq r)ai=⌊ai⌋(l≤i≤r)。 查询给定区间[l,r]{[l,r]}[l,r]的元素和,即求∑i=lraisum_{i=l}^{r}a_{i}∑i=lrai。