题目大意:给定一个序列,每次询问给出一个区间,我们需要选择一个数,这个数到区间内所有数的距离之和最小,求最小和
由绝对值不等式可得 当我们选择的这个数是中位数的时候距离和最小 于是这题就转换成了区间第k小
但是这题求的是最小和 于是我们做一个处理 我们多维护一个sum域 sum[i]表示[l,i]区间内划分到左子树中元素的总和
然后我们每次查询第k小时 如果我们进入的是右子树 就把划分到左子...
分类:
其他好文 时间:
2014-09-24 17:23:07
阅读次数:
173
题目:一条街道上有n家餐馆,现在想建立k个仓库,储存代价是每个餐馆到最近的仓库的距离和;
求最小的储存代价。
分析:dp,中位数,动态规划。
状态:f(i,j)表示前j家餐馆建立i个仓库的最小储存代价;
状态转移:f(i,j)= min(f(i-1,k)+ cost(k+1,j)){ 其中 i-1
...
分类:
其他好文 时间:
2014-09-24 02:40:15
阅读次数:
198
题目大意:给定一个序列,求区间第k小
注意是第k小!!别被题目描述骗到了!!这题求的是第k小!!不是第k大!!!
这题和POJ2104一样,都是求区间第k小,不同的是这题的序列是有重复的
对于有重复的,我们必须先预处理出有多少个中位数能进入左区间,否则就会导致过多的中位数堆积在左区间导致该进入左区间的东西被硬塞进了右区间
其实我只是想说为何网上的处理重复都写的那么麻烦。。。像我这样精简点不...
分类:
其他好文 时间:
2014-09-23 16:27:54
阅读次数:
213
第一题:题目大意:给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 N1,则你必须先敲掉第i-1层的第j和第j+1块砖。你现在可以敲掉最多m块砖,求得分最多能有多少。 1≤n≤50,1≤m≤500解题过程:1.考虑到某块砖...
分类:
其他好文 时间:
2014-09-21 13:45:20
阅读次数:
262
求2个数组的中位数方法很多但是时间复杂度各异1利用数组copy方法先融合两个数组,然后排序,找出中位数import java.lang.reflect.Array;import java.util.Arrays;import java.util.Collection;import java.util...
分类:
编程语言 时间:
2014-09-18 00:41:02
阅读次数:
222
在一个由n个元素组成的集合中,第i个“顺序统计量(order statistic)”是该集合中第i小的元素。例如,在一个由n个元素组成的集合中,最小值是第1个顺序统计量,最大值是第n个顺序统计量。而“中位数(median)”总是出现在low((n+1)/2)或者high((n+1)/2)处,其中.....
分类:
其他好文 时间:
2014-09-16 20:31:01
阅读次数:
250
MedianTime Limit:1000MSMemory Limit:65536KTotal Submissions:3866Accepted:1130DescriptionGivenNnumbers,X1,X2, ... ,XN, let us calculate the difference ...
分类:
其他好文 时间:
2014-09-13 10:34:44
阅读次数:
236
Median of Two Sorted Arrays...
分类:
其他好文 时间:
2014-09-09 13:29:48
阅读次数:
158
题目大意:有N头牛,每头牛两个权值,A和B。从这N头牛中选取C头牛,使得:
1、这些牛中A权值的中位数尽量大。
2、这些牛的B权值的和小于题中所给的F
输出这个最大的A权值的中位数;如果没有满足题意的解,就输出-1。值。
思路:
堆有一个神奇的功能。假设上图是一个数组,在B从A到C移动的过程中,利用大根堆可以维护出B在所有位置时,从A到B中选K个值...
分类:
其他好文 时间:
2014-09-04 19:14:30
阅读次数:
238