随笔分类 -  数据结构-二叉堆

摘要:https://vjudge.net/problem/HDU-4261 对于一个长2000的数列划分最多25个块,每块代价为块内每个数与块内中位数差的绝对值之和,求最小总代价。 套路化地,设$f[i][j]$表示第$i$位,划了$j$块最小代价。然后dp。$O(n^3k)$不必说。($logn$和$ 阅读全文
posted @ 2019-04-25 22:23 Ametsuji_akiya 阅读(200) 评论(0) 推荐(0)
摘要:没错我就是专门找对顶堆练习题的。现在感觉对顶堆使用面有点狭窄。这道题由于我询问是随时间单调增的,而且数据比较友好,应该是插入几次就询问一下的。而中位数那题也是经常询问的。如果查询的东西不单调,或者查询过少,对顶堆都会退化,可能一次维护就要$nlogn$,所以他只适用于经常询问单调增排名的问题。(←个 阅读全文
posted @ 2019-04-01 07:57 Ametsuji_akiya 阅读(119) 评论(0) 推荐(0)
摘要:由于我不会讲对顶堆,所以这里直接传上一个巨佬的学习笔记。 对顶堆其实还是很容易理解的,想这题的时候自己猜做法也能把没学过的对顶堆给想出来。后来了解,对顶堆主要还是动态的在线维护集合$K$大值。当然也可以带删除。但是可能退化,具体见另外一个题的说明。 像这题维护中位数就是要求第$N/2+1$大的数,所 阅读全文
posted @ 2019-04-01 07:26 Ametsuji_akiya 阅读(148) 评论(0) 推荐(0)