H(ly) 切入点很妙,解法也很妙。 题的原型是hdu 5649,对一段序列a[n]进行多次区间(升/降)排序,求a[k]。 解法: 二分a[k] 对于当前的a[k],原序列中比a[k]小的置为0,不比a[k]小的置为1,然后进行m次区间操作。 这时,对一个01串进行排序就容易多了,线段树区间查询和区间修改。 最后看第k位上的是0还是1,一直二分出结果。 回到本题,hdu 5649是普通的升降排序,本题是花式排序,就是小的放中间,大的放两边,这样也可以用上面的思路来解。