随笔分类 - DS-树状数组
摘要:【题解】NOIO2020 冒泡排序(树状数组) 考虑在k次冒泡后的排列中的一个逆序对$ia_j$。 因为这个$a_i$的存在,意味着$a_j$没有被往右边交换过(否则不会存在一个$a_i a_j$)。 对于每个没有被交换到右边的数,他前面总共有$k$个比他大的数被交换走了。记$ans[i]$表示原序
阅读全文
摘要:【题解】BZOJ4548 小奇的糖果(树状数组) 说在前面:我有个同学叫小奇,他有一个朋友叫达达,达达特爱地理和旅游,初中经常AK地理,好怀恋和他已经达达一起到当时初中附近许多楼盘的顶楼逛的时光... 主要是今天大家讲题的时候我偷偷溜出来到了科技楼七楼,从窗户爬到阳台上,发现顶楼居然有: 天文望远镜
阅读全文
摘要:【题解】Music Festival(树状数组优化dp) "Gym 101908F " 题意:有$n$种节目,每种节目有起始时间和结束时间和权值。同一时刻只能看一个节目(边界不算),在所有种类都看过至少一遍的情况下最大收益 设$dp(s,i)$表示已经看过$s$集合中的节目,且看过的节目的结束时间是
阅读全文
摘要:【题解】Leyni,罗莉和队列(树状数组) "HRBUST 1356 " 将整个序列reverse一下,现在就变成了从高到低的排队。题目就变成了,定位一个妹子,问这个妹子前面的比这个妹子小的妹子中,下标最小的数是哪个。 所以以年龄为下标,以(原数组)下标为值建立一颗值域线段树,由于我们只要找到在原数
阅读全文
摘要:【题解】ARC101F Robots and Exits(DP转格路+树状数组优化DP) 先删去所有只能进入一个洞的机器人,这对答案没有贡献 考虑一个机器人只能进入两个洞,且真正的限制条件是操作的前缀$\min \max$,我们直接按照前缀$\min \max$$DP$ 把前缀$\min \max$
阅读全文
摘要:数据差分化是一个很神仙也很实用的方法。 具体操作就是将一个数化为多个项的和的形式,这些我们产生的项多为g(x)=f(i) f(i 1)一类形式,这样可以错位相消去,十分巧妙。 数据差分化有以下神仙之处: 通过差分数据得到原数据g(x):十分显然,g(x)=f(1)+f(2)+f(3)+……+f(x)
阅读全文