HDU-6070 Dirt Ratio-线段树+分数规划
题意:
给你一个数组,找一段区间使得区间内不同数的个数与区间长度的比值最小。Solution:
这是一道经典的分数规划题,考虑二分答案k,那么我们的目标就是找一段区间使得val/len<=k,val是区间内不同的数的个数,len是区间长度,转化一下可以得到val-k*len<=0,我们可以利用线段树达到快速查询的效果:维护区间最小值,pre[a[i]]记录上一个值为a[i]的数出现的位置,每次把
原创
2017-12-28 14:48:09 ·
219 阅读 ·
0 评论