
中位数
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
poj3784 Running Median(对顶堆)
题意动态维护中位数问题:依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。我的想法中位数是第(n+1)/2大的数,也可以看成是排完序后中间位置的数。再确定了一个中位数后,每加入一个新数,就用一个二分插入排序将其放入中位数左或右,这样会涉及到链表上的二分查找,我不会。其实可以用vector容器代替链表的,可以一试。题解对顶堆聪明的解题人,在中位数这里把序列折成...原创 2018-07-11 12:51:02 · 344 阅读 · 0 评论 -
poj1723 Soldiers(中位数)
题意给出n个点的坐标,它们只能往上、下、左、右一格一格地移动,求使其移动至水平线上的最小步数。 题解中位数先易后难,对于纵向的问题,我们推个公式,,这个很容易看出是货仓选址问题,k取y[i]的中位数就可以了。对于横向的问题,同样推一下公式,,推到这里,我们把与i相关的项全部合在了一起,只要把x[i]-i看作一个整体,这个子问题也是中位数问题。 代码#includ...原创 2018-08-02 19:28:02 · 847 阅读 · 0 评论